2017-06-13 4 views
0

スライドする写真からマウスを動かしても、setInterval機能を再開することはできません。写真は停止し、スライディングもこれ以上ありません。このコードに問題があるようです"$("#wrapper-banner ")。mouseout(function(){timer()});"誰も助けることができますか?jQueryスライドバナーのmouseoutが機能しない

//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を2度目に呼び出し、タイマーハンドルを置き換えることだと考えています。

//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

それはあなたに感謝作品! –

関連する問題