希望这个菜单鼠标停留3秒后才触发JS~网上很多代码都能实现这个效果~ 但因为我的网站很多地方使用了此代码..如果换新的菜单代码非常麻烦。所以希望能修改原先的代码来实现这个功能,麻烦各位帮我看看,谢谢。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>滑动门</title>
<script type="text/javascript">
function nTabs(thisObj,Num){
if(thisObj.className == "active")return;
var tabObj = thisObj.parentNode.id;
var tabList = document.getElementById(tabObj).getElementsByTagName("li");
for(i=0; i <tabList.length; i++)
{
if (i == Num)
{
thisObj.className = "active";
document.getElementById(tabObj+"_Content"+i).style.display = "block";
}else{
tabList[i].className = "normal";
document.getElementById(tabObj+"_Content"+i).style.display = "none";
}
}
}
</script>
</head>
<body>
<br />
<br />
<div align="center" style="padding-left:25px;">
<!-- 选项卡0开始可以调整style=width:451px 数字为适合你网站宽度的数字 -->
<div class="nTab" style=width:451px>
<!-- 标题开始 -->
<div class="TabTitle">
<ul id="myTab0">
<li class="active" onmouseover="nTabs(this,0);">全部</li>
<li class="normal" onmouseover="nTabs(this,1);">日志</li>
<li class="normal" onmouseover="nTabs(this,2);">咨询</li>
<li class="normal" onmouseover="nTabs(this,3);">相册</li>
<li class="normal" onmouseover="nTabs(this,4);">商城</li>
<li class="normal" onmouseover="nTabs(this,5);">社区</li>
</ul>
</div>
<!-- 内容开始 -->
<div class="TabContent">
<div id="myTab0_Content0"> 000 </div>
<div id="myTab0_Content1" class="none">111</div>
<div id="myTab0_Content2" class="none">222</div>
<div id="myTab0_Content3" class="none">333</div>
<div id="myTab0_Content4" class="none">444</div>
<div id="myTab0_Content5" class="none">555</div>
</div>
</div>
</div>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>滑动门</title>
<script type="text/javascript">
function nTabs(thisObj,Num){
if(thisObj.className == "active")return;
var tabObj = thisObj.parentNode.id;
var tabList = document.getElementById(tabObj).getElementsByTagName("li");
for(i=0; i <tabList.length; i++)
{
if (i == Num)
{
thisObj.className = "active";
document.getElementById(tabObj+"_Content"+i).style.display = "block";
}else{
tabList[i].className = "normal";
document.getElementById(tabObj+"_Content"+i).style.display = "none";
}
}
}
</script>
</head>
<body>
<br />
<br />
<div align="center" style="padding-left:25px;">
<!-- 选项卡0开始可以调整style=width:451px 数字为适合你网站宽度的数字 -->
<div class="nTab" style=width:451px>
<!-- 标题开始 -->
<div class="TabTitle">
<ul id="myTab0">
<li class="active" onmouseover="nTabs(this,0);">全部</li>
<li class="normal" onmouseover="nTabs(this,1);">日志</li>
<li class="normal" onmouseover="nTabs(this,2);">咨询</li>
<li class="normal" onmouseover="nTabs(this,3);">相册</li>
<li class="normal" onmouseover="nTabs(this,4);">商城</li>
<li class="normal" onmouseover="nTabs(this,5);">社区</li>
</ul>
</div>
<!-- 内容开始 -->
<div class="TabContent">
<div id="myTab0_Content0"> 000 </div>
<div id="myTab0_Content1" class="none">111</div>
<div id="myTab0_Content2" class="none">222</div>
<div id="myTab0_Content3" class="none">333</div>
<div id="myTab0_Content4" class="none">444</div>
<div id="myTab0_Content5" class="none">555</div>
</div>
</div>
</div>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>滑动门 </title>
<script type="text/javascript">
var i = 0, t, tabObj;
function nTabs(thisObj,Num){
if(i < 3){
if(!tabObj)tabObj = thisObj.parentNode.id;
t = setTimeout("nTabs('"+thisObj+"','"+Num+"')", 200);
i += 0.2;
}else{
clearTimeout(t);
i = 0;
if(thisObj.className == "active")return;
// var tabObj = thisObj.parentNode.id;
var tabList = document.getElementById(tabObj).getElementsByTagName("li");
for(i=0; i <tabList.length; i++){
if (i == Num){
thisObj.className = "active";
document.getElementById(tabObj+"_Content"+i).style.display = "block";
}else{
tabList[i].className = "normal";
document.getElementById(tabObj+"_Content"+i).style.display = "none";
}
}
}
}
function resetI(){
clearTimeout(t);
tabObj = null;
i = 0;
}
</script>
</head>
<body>
<br />
<br />
<div align="center" style="padding-left:25px;">
<!-- 选项卡0开始可以调整style=width:451px 数字为适合你网站宽度的数字 -->
<div class="nTab" style=width:451px>
<!-- 标题开始 -->
<div class="TabTitle">
<ul id="myTab0">
<li class="active" onmouseover="nTabs(this,0);" onmouseout="resetI()">全部 </li>
<li class="normal" onmouseover="nTabs(this,1);" onmouseout="resetI()">日志 </li>
<li class="normal" onmouseover="nTabs(this,2);" onmouseout="resetI()">咨询 </li>
<li class="normal" onmouseover="nTabs(this,3);" onmouseout="resetI()">相册 </li>
<li class="normal" onmouseover="nTabs(this,4);" onmouseout="resetI()">商城 </li>
<li class="normal" onmouseover="nTabs(this,5);" onmouseout="resetI()">社区 </li>
</ul>
</div>
<!-- 内容开始 -->
<div class="TabContent">
<div id="myTab0_Content0"> 000 </div>
<div id="myTab0_Content1" class="none">111 </div>
<div id="myTab0_Content2" class="none">222 </div>
<div id="myTab0_Content3" class="none">333 </div>
<div id="myTab0_Content4" class="none">444 </div>
<div id="myTab0_Content5" class="none">555 </div>
</div>
</div>
</div>
</body>
</html>
3秒整
测试通过
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>滑动门</title>
<script type="text/javascript">
var timed;
function nTabs(thisObj,Num){
clearTimeout(timed);
timed = setTimeout(function () {
if(thisObj.className == "active")return;
var tabObj = thisObj.parentNode.id;
var tabList = document.getElementById(tabObj).getElementsByTagName("li");
for(i=0; i <tabList.length; i++) {
if (i == Num) {
thisObj.className = "active";
document.getElementById(tabObj+"_Content"+i).style.display = "block";
} else {
tabList[i].className = "normal";
document.getElementById(tabObj+"_Content"+i).style.display = "none";
}
}
}, 1000 * 3);
thisObj.onmouseout = function () {
clearTimeout(timed);
};
}
</script>
</head>
<body>
<br />
<br />
<div align="center" style="padding-left: 25px;">
<!-- 选项卡0开始可以调整style=width:451px 数字为适合你网站宽度的数字 -->
<div class="nTab" style="width: 451px">
<!-- 标题开始 -->
<div class="TabTitle">
<ul id="myTab0">
<li class="active" onmouseover="nTabs(this,0);">
全部
</li>
<li class="normal" onmouseover="nTabs(this,1);">
日志
</li>
<li class="normal" onmouseover="nTabs(this,2);">
咨询
</li>
<li class="normal" onmouseover="nTabs(this,3);">
相册
</li>
<li class="normal" onmouseover="nTabs(this,4);">
商城
</li>
<li class="normal" onmouseover="nTabs(this,5);">
社区
</li>
</ul>
</div>
<!-- 内容开始 -->
<div class="TabContent">
<div id="myTab0_Content0">
000
</div>
<div id="myTab0_Content1" class="none">
111
</div>
<div id="myTab0_Content2" class="none">
222
</div>
<div id="myTab0_Content3" class="none">
333
</div>
<div id="myTab0_Content4" class="none">
444
</div>
<div id="myTab0_Content5" class="none">
555
</div>
</div>
</div> </div>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>滑动门</title>
<script type="text/javascript">
var timeHandler=null;
function nTabs(thisObj,Num){
if(!thisObj.onmouseout){
thisObj.onmouseout=function(){clearTimeout(timeHandler);}
}
clearTimeout(timeHandler);
timeHandler=setTimeout(function(thisObj,Num){return function(){nTabs1(thisObj,Num)}}(thisObj,Num),3000);
}
function nTabs1(thisObj,Num){
if(thisObj.className == "active")return;
var tabObj = thisObj.parentNode.id;
var tabList = document.getElementById(tabObj).getElementsByTagName("li");
for(i=0; i <tabList.length; i++)
{
if (i == Num)
{
thisObj.className = "active";
document.getElementById(tabObj+"_Content"+i).style.display = "block";
}else{
tabList[i].className = "normal";
document.getElementById(tabObj+"_Content"+i).style.display = "none";
}
}
}
</script>
</head>
<body>
<br />
<br />
<div align="center" style="padding-left:25px;">
<!-- 选项卡0开始可以调整style=width:451px 数字为适合你网站宽度的数字 -->
<div class="nTab" style=width:451px>
<!-- 标题开始 -->
<div class="TabTitle">
<ul id="myTab0">
<li class="active" onmouseover="nTabs(this,0);">全部</li>
<li class="normal" onmouseover="nTabs(this,1);">日志</li>
<li class="normal" onmouseover="nTabs(this,2);">咨询</li>
<li class="normal" onmouseover="nTabs(this,3);">相册</li>
<li class="normal" onmouseover="nTabs(this,4);">商城</li>
<li class="normal" onmouseover="nTabs(this,5);">社区</li>
</ul>
</div>
<!-- 内容开始 -->
<div class="TabContent">
<div id="myTab0_Content0"> 000 </div>
<div id="myTab0_Content1" class="none">111</div>
<div id="myTab0_Content2" class="none">222</div>
<div id="myTab0_Content3" class="none">333</div>
<div id="myTab0_Content4" class="none">444</div>
<div id="myTab0_Content5" class="none">555</div>
</div>
</div>
</div>
</body>
</html>
代码单独使用没有问题,但是和其他js代码放到js文件里面调用时,有时正常 ,有时出现“缺少对象”出错行正式菜单所在的行?不知道这个又是什么问题
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>滑动门 </title>
<script type="text/javascript">
var ii = 0, t, tabObj;
function nTabs(thisObj,Num){
if(ii < 3){
if(!tabObj)tabObj = thisObj.parentNode.id;
t = setTimeout("nTabs('"+thisObj+"','"+Num+"')", 200);
ii += 0.2;
}else{
clearTimeout(t);
ii = 0;
if(thisObj.className == "active")return;
// var tabObj = thisObj.parentNode.id;
var tabList = document.getElementById(tabObj).getElementsByTagName("li");
for(i=0; i <tabList.length; i++){
if (i == Num){
thisObj.className = "active";
document.getElementById(tabObj+"_Content"+i).style.display = "block";
}else{
tabList[i].className = "normal";
document.getElementById(tabObj+"_Content"+i).style.display = "none";
}
}
}
}
function resetI(){
clearTimeout(t);
tabObj = null;
ii = 0;
}
</script>
</head>
<body>
<br />
<br />
<div align="center" style="padding-left:25px;">
<!-- 选项卡0开始可以调整style=width:451px 数字为适合你网站宽度的数字 -->
<div class="nTab" style=width:451px>
<!-- 标题开始 -->
<div class="TabTitle">
<ul id="myTab0">
<li class="active" onmouseover="nTabs(this,0);" onmouseout="resetI()">全部 </li>
<li class="normal" onmouseover="nTabs(this,1);" onmouseout="resetI()">日志 </li>
<li class="normal" onmouseover="nTabs(this,2);" onmouseout="resetI()">咨询 </li>
<li class="normal" onmouseover="nTabs(this,3);" onmouseout="resetI()">相册 </li>
<li class="normal" onmouseover="nTabs(this,4);" onmouseout="resetI()">商城 </li>
<li class="normal" onmouseover="nTabs(this,5);" onmouseout="resetI()">社区 </li>
</ul>
</div>
<!-- 内容开始 -->
<div class="TabContent">
<div id="myTab0_Content0"> 000 </div>
<div id="myTab0_Content1" class="none">111 </div>
<div id="myTab0_Content2" class="none">222 </div>
<div id="myTab0_Content3" class="none">333 </div>
<div id="myTab0_Content4" class="none">444 </div>
<div id="myTab0_Content5" class="none">555 </div>
</div>
</div>
</div>
</body>
</html>这回试一试