2016-05-17 7 views
0

divにマウスを置くと、jqueryのclearTimeout()関数を使って時間をクリアしようとしています。しかし、タイマーは停止しません。ここに私のコードです。jQueryでclearTimeoutが機能していませんか?

$(document).ready(function(){ 

var timer= setTimeout(function() 
    {display()},3000); 

    $('.movieSlide').hover(function(){ 
     clearTimeout(timer) ; 

    }); 
}); 


function display(){ 
    var container=$('.movieSlide'); 
    var slideDiv=$('.movieSlide').find('.movieReview'); 

    slideDiv.css({"display":"none"}); 

    $(slideDiv[1]).css({"display":"block"}); 

    $(slideDiv[2]).css({"display":"block"}); 

    $(slideDiv[0]).appendTo(container); 

    setTimeout(display,5000); 

    } 

私はなぜそれが動作していないとブラウザでもエラーがないかわかりません。前もって感謝します。

+0

インデントを修正する必要があります。 – SLaks

+0

あなたはフィドルを作ることができますかhttp://www.jsfiddle.net – Michelangelo

答えて

1

setTimeOutを表示スコープ(無限ループ)内に再表示しています。マウスを動かすと、タイマーは停止しますが、別の別のディスプレイが既に起動しています。代わりにsetIntervalを使用できます。
https://jsfiddle.net/9aLvd3uw/118/

+0

あなたの答えは私のために完全に働いています。どうもありがとう。 – Janaki

関連する問題