2011-10-18 25 views
0

jQueryでsetIntervalを再起動すると、ユーザーがカウンタを再起動したときに表示されるようになりますか?jQueryでsetIntervalを再起動すると、ユーザーがカウンタを再起動したときに表示されます。

私は12秒後に次のタブに移動するようにタブセクションを作成しました。しかし、ユーザーが希望のタブをクリックしてユーザーが新しいセットを12秒間取得すると、時間を再開したいと思います。

私はjqueryの初心者ですので、十分に説明してください。どうもありがとう。

$("li.tab").click(function() { 


    $("li.tab").removeClass("select"); 
     $(".featured_content").hide(); //Hide all tab content 
    var activeTab = $(this).find("a").attr("href"); //Find the href attribute value to identify the active tab + content 
    $(activeTab).fadeIn(1600); //Fade in the active ID content 
    $(this).addClass("select"); 





}); 

var refreshIntervalId = setInterval(function() { 

    var lastChild = $('li.select').is(':last-child'); 

    if (lastChild) { 

     $('li.tab').removeClass('select ') 
     $("li.tab:first").addClass('select '); 
     return false; 

    } else { 
     $("li.select").removeClass('select').next().addClass('select'); 
     return false; 
    } 

}, 12000); 

答えて

2

使用clearInterval:あなたの1のための

$("li.tab").click(function() { 
    // ... 
    refreshIntervalId = clearInterval(refreshIntervalId); 
    // setInterval again to re-start the 'timer' 
    // ... 
}); 
+0

1 - 私たちは、初心者のためのいくつかのコンテキストを提供する必要があります:P –

+0

@ジョン - 私たちの両方が、これに1を負う可能性があるように[見えます@matt](http://stackoverflow.com/users/444991/matt)は、 'clearTimeout'と' clearInterval'を混乱させることをうまく指摘してくれました! –

+0

面白い事実:少なくとも、Chromeは「clearInterval()」でタイムアウトをクリアし、「clearTimeout」で間隔をクリアします(少なくとも最後に確認しました) – Pointy

2
//Stop 
clearInterval(refreshIntervalId); 

//Start again 
setInterval(function() { 
    ... 
}, 12000) 
+0

+1私よりも多くのコード –

関連する問題