使用for循环,它什么都不做。没有for循环,它完美无缺。
没有for循环:
var refreshId = setInterval(function(){
$("#k1").fadeTo(1000,0.01,callfunc).fadeTo(1000,1);
}, 5000);
var refreshId = setInterval(function(){
$("#k2").fadeTo(1000,0.01,callfunc).fadeTo(1000,1);
}, 5000);
依旧......
使用for循环:
for(var i=1;i<7;i++){
var refreshId = setInterval(function(){
$("#k"+i).fadeTo(1000,0.01,callfunc).fadeTo(1000,1);
}, 5000);
}
我在这里做错了什么?
答案 0 :(得分:2)
由于@pimvdb指出你在内部循环中有闭包(setTimeout创建一个),它不起作用,你应该有类似的东西:
for(var i = 1; i < 7; i++) {
(function(e) {
var refreshId = setTimeout(function() {
$("#k"+e).fadeTo(1000,0.01,callfunc).fadeTo(1000,1);
}, 5000);
})(i);
}
您可能还需要查看this question以获取更多信息。