2017-06-13 77 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

它的作品謝謝你! –