2017-06-13 74 views
0

当我将鼠标移出滑动图片时,setInterval函数无法再次重新启动。图片停止,不再滑动。看起来这个代码有问题“$(”#wrapper-banner“)。mouseout(function(){timer()});”任何人都可以帮忙吗?非常感谢!jQuery滑动横幅鼠标不起作用

//slide banner 
$("#wrapper-banner > div:gt(0)").hide(); 

timer=setInterval(function() { 
    $('#wrapper-banner > div:first') 
     .fadeOut(1000) 
     .next() 
     .fadeIn(1000) 
     .end() 
     .appendTo('#wrapper-banner'); 
}, 4000); 
$("#wrapper-banner").mouseover(function(){clearInterval(timer);}) 

$("#wrapper-banner").mouseout(function(){timer()}); 

回答

0

setInterval函数返回定时器的句柄,而不是函数。它不能被称为重启它的函数。我相信你想要的是在同一个函数上再次调用setInterval并替换定时器句柄。

//slide banner 
$("#wrapper-banner > div:gt(0)").hide(); 

function moveNext() { 
    $('#wrapper-banner > div:first') 
     .fadeOut(1000) 
     .next() 
     .fadeIn(1000) 
     .end() 
     .appendTo('#wrapper-banner'); 
} 

timer=setInterval(moveNext, 4000); 
$("#wrapper-banner").mouseover(function(){clearInterval(timer);}) 

$("#wrapper-banner").mouseout(function() 
{timer=setInterval(moveNext, 4000);}); 
+1

它的作品谢谢你! –