关于setInterval嵌套的问题,举手之劳。来拿分吧

这样写这两种代码有什么区别?
1:
var fda
function auto(){
fdsa = setInterval(function(){
var fidle = wrap.find("li:first")
var h = fidle.height();
$(fidle).animate({marginTop:-h + "px" },600,function(){
fidle.css("marginTop",0).appendTo(wrap)
});
},2000)
2:

var fdsa
function auto(){
var fidle = wrap.find("li:first")
var h = fidle.height();
$(fidle).animate({marginTop:-h + "px" },600,function(){
fidle.css("marginTop",0).appendTo(wrap)
});
fdsa = setInterval( auto,2000)
}

写的是一个无缝滚动的效果、第一种的效果是想要的,第二种会乱掉。怎么回事?
为什么把setInterval单独写出来会出问题?
写在里面和写在外面有什么区别?执行顺序不一样么?
我是新人,不太明白。thank you~

第二种,你那么写就是setInterval递归调用setInterval,意思是永远都fdsa 每下个2秒执行,但每到2秒时,就赋值给fdsa 而没有做函数体里面的操作,而是又推到下一个2秒,反反复复

这样就行了,具体你可以去查setInterval的语法和含义
function auto() { ... }
var fdsa = setInterval( auto,2000)
温馨提示:答案为网友推荐,仅供参考
相似回答