2011-09-10 8 views
1

私は4つの関数をsetInterval(tscrolls)で実行しています。この関数は、ドキュメントがロードされると直ちに数秒ごとにdivのトップロケーションをアニメーション表示します。実行中のsetInterval関数を一時停止しますか?

var intervalFunctions = [ tScroll1, tScroll2, tScroll3, tScroll4 ]; 
var intervalTimer = 3000; 
window.setInterval(function(){ 
    intervalFunctions[intervalIndex++ % intervalFunctions.length](); 
}, intervalTimer); 

マウスセンターまたはマウスオーバーでこれを一時停止する方法はありますか?

+0

可能な複製[javascriptでwindows.setIntervalを一時停止するにはどうすればよいですか?](http://stackoverflow.com/questions/7279567/how-do-i-pause-a-windows-setinterval-in-javascript) –

答えて

7

最も簡単なマウスオーバーで設定し、マウスアウト時にクリアされている(ここではhold)の変数を参照するようにコードを変更することです:あなたの道のほとんどを取得します

window.setInterval(function(){ 
    if(hold) { 
     return; 
    } 
    intervalFunctions[intervalIndex++ % intervalFunctions.length](); 
}, intervalTimer); 

このアプローチ、および特定の動作を実現したい場合は、それを微調整することができます。

+0

+1:この 'hold 'アプローチは、' clearInterval'を使用し、 'setInterval'で再起動するよりも良いと思います。 – nnnnnn

関連する問題