次のコードでタイマーを開始しました。別のタイマーがwindow.setInterval
メソッドに渡されたメソッドでアクティブな場合、window.setIntervalメソッドを失敗させることは可能ですか?一度に1つのタイマーをアクティブに制限する
GInterValId = window.setInterval("AutoRefresh()",parseInt(GRefreshInterval));
次のコードでタイマーを開始しました。別のタイマーがwindow.setInterval
メソッドに渡されたメソッドでアクティブな場合、window.setIntervalメソッドを失敗させることは可能ですか?一度に1つのタイマーをアクティブに制限する
GInterValId = window.setInterval("AutoRefresh()",parseInt(GRefreshInterval));
。すべてのあなたのタイマーを扱うオブジェクトを作成します。他の1がアクティブであるため、2番目の1が実行されません
function doSomething() {...} // function example
function doSomethingElse() {...} // function example
var MyTimer = new Timer();
MyTimer.setTimer(doSomething,1000); // this will run
MyTimer.setTimer(doSomethingElse,1000); // this will not run
:
var Timer = function() {
var currentTimer;
this.setTimer = function (func,time) {
if (currentTimer) {
alert("one timer already set");
}else {
currentTimer = setInterval(func,time);
}
}
this.stopTimer = function() {
clearInterval(currentTimer);
currentTimer = null;
}
}
今、あなたはこのコードを使用することができます。 最初のものがクリアされていることを確認してください。
MyTimer.stopTimer(); // will clear the current timer then you can run another one
MyTimer.setTimer(doSomethingElse,1000); // will run perfectly
window.setInterval()の結果結果を追跡する場合は、前のインターバルタイマーをいつでも停止できます。その後
var GInterValId = setInterval(AutoRefresh, parseInt(GRefreshInterval));
、あなたがそれをリセットしたい:
if (GInterValId) {
clearInterval(GInterValId);
}
GInterValId = setInterval(AutoRefresh, parseInt(GRefreshInterval));
はまた、私はたsetIntervalに文字列を渡していないよということに注意し、実際のJS関数参照。あなただけの別の間隔を防ぎたい場合は
かは、設定ガイド:このためにシステムを設定されてあなたが何
var GInterValId = null; // initialize
// then, when you want to set it, check to see if it's already been set
if (GInterValId) {
GInterValId = setInterval(AutoRefresh, parseInt(GRefreshInterval));
}
間隔をクリアすると、* currentTime *の値をリセットしたい場合は、現在のものが停止していても別のものを起動できなくなります。 – RobG
@RobG:ポイントを下回らないでください。 – Maanu
@RobG:そうです、私はcurrentTimerをnullに設定しました。この方法では、最初の条件に合格しなくなり、新しいタイマーが設定されます – Ibu