0

clearInterval (または clearTimeout) 関数を正しく処理する方法がわかりません。

コンテキスト: 特定の一時停止時間で複数の画像を表示します。スライダーを再生させれば、休止時間は正確です。言うまでもありません。特定の画像にジャンプすることにした場合、clearInterval にもかかわらずタイマーが 0 に設定されないため、この画像が表示される時間が短すぎます (古いタイマーがまだアクティブです)。

以下の js コードのどこが間違っている可能性がありますか?

ありがとう!

function pauseImage () {

var rest=null;

clearInterval(rest); 

rest=setInterval(function() { ...go to the next slide...}, 5000);

};
4

3 に答える 3

2

rest関数にスコープされます。関数が呼び出されるたびにリセットされます。より広い範囲に移動します。

var rest;
function pauseImage () {
  clearInterval(rest); 
  rest=setInterval(function() { ...go to the next slide...}, 5000);
};
于 2012-08-01T12:59:46.700 に答える
0

間隔を作成してクリアするには、次のようなことを試すことができます。

var IntervalObject = self.setInverval("nameOfFunction()", 5000);

//following your example
//var IntervalObject = self.setInverval(function(){ ... },5000)

//to clear it
self.clearInterval(IntervalObject);

これが役立つことを願っています!

を見逃しただけだと思いますself

于 2012-08-01T12:56:53.873 に答える