我有个函数 function setdata(id){
function test(id){
}
var t=setInterval(function(id){test(id)},3000);
}
引用函数 var s1=setdata(ss1)
var s2=setdata(ss2) 这样同时引用的函数 test()会相互影响, 如果不写成 函数调用形式 分开写 t1= test1(){} t2 = test2{} 这样在同一个页面时不会相互影响的,大家有什么好的解决方法没
function test(id){
}
var t=setInterval(function(id){test(id)},3000);
}
引用函数 var s1=setdata(ss1)
var s2=setdata(ss2) 这样同时引用的函数 test()会相互影响, 如果不写成 函数调用形式 分开写 t1= test1(){} t2 = test2{} 这样在同一个页面时不会相互影响的,大家有什么好的解决方法没
<head>
<script type="text/javascript">
function setData(id){
function test(id){
document.body.appendChild(document.createTextNode(id)); document.body.appendChild(document.createElement('br'));
}
setInterval(function(){test(id);},3000);
}
setData("id1");
setData("id2");
</script>
</head>
<body>
</body>
</html>
最后id会解析成undefined。你id不管怎么传,结果都是一样的。所以你才会感觉到互相影响了
function setImg(id){
id=id+" a";
if($(id).size()>1)
{
$(id).hover(function(){clearInterval(t)},function(){t=setInterval(function(){changeImg()},3000)})
n=$(id).size();
i=0;
function changeImg(){ i=i+1;
if(i==n)
i=0;
$(id).filter(":visible").fadeOut(500).parent().children().eq(i).fadeIn(1000);
}
t= setInterval(function(){changeImg()},3000);
}
}上面是我的源码,就是用JS 实现图片自动切换 一个是可以的 如果有两个以上调用 里面变量和 hover事件就会相互影响, 能不能采用动态变量一类的....
像这个情况,建议用setTimeOut,然后把i,n作为函数的参数
$(id).hover(function(){clearInterval(t)},function(){t=setInterval(function(){changeImg()},3000)})
n=$(id).size();
var i=0;
function changeImg(){ i=i+1;
if(i==n)
i=0;
$(id).filter(":visible").fadeOut(500).parent().children().eq(i).fadeIn(1000);
}
var t= setInterval(function(){changeImg()},3000);
}
可以了 谢谢大家