Timer

X. Timer

setTimeout をラップします。複数のタイマーを登録しても Web ブラウザにはひとつのタイマーを登録します。

参考:複雑で重くなった JavaScript を超高速化する方法3, [JavaScript]setIntervalを実験する

指定時間の経過したタイマーは、より過去のものから順番にコールバックされます。

setTimeout のコールバックに文字列しか指定できないブラウザがあり対策しています。

requestAnimationFrame をラップします。ベンダープレフィックス付の requestAnimationFrame もない場合、setTimeout にフォールバックします。

Methods

static add(time, opt_count, args1, args2, args3) → {number}

タイマーをセットします。

Parameters:
Name Type Description
time number ミリ秒
opt_count number 回数。省略可能。指定回数で自動でタイマーを破棄します。0 を指定した場合無限にタイマーが呼ばれます。省略した場合 0 と同じです。
args1 * コールバックのための最大で 3 つの引数を指定します。参考:__CallbackHash__
args2 *
args3 *
Returns:
number タイマーID。1 以上の数値。タイマーの解除に使用。
Example
 timerID = X.Timer.add( 1000, 5, thisContext, onTimer );

static cancelFrame(タイマーID,) → {number}

requestAnimationFrame を解除します。登録時に受け取ったタイマーIDを使用します。

Parameters:
Name Type Description
タイマーID, number | string 数字文字の場合もある!
Returns:
number 0 が返る
Example
 if( timerID ) timerID = X.Timer.cancelFrame( timerID );

static once(time, args1, args2, args3) → {number}

1 回呼ばれたら解除されるタイマーをセットします。

Parameters:
Name Type Description
time number ミリ秒
args1 * コールバックのための最大で 3 つの引数を指定します。参考:__CallbackHash__
args2 *
args3 *
Returns:
number タイマーID。1 以上の数値。タイマーの解除に使用。

static remove(タイマーID) → {number}

タイマーを解除します。登録時に受け取ったタイマーIDを使用します。

Parameters:
Name Type Description
タイマーID number
Returns:
number 0 が返る
Example
 if( timerID ) timerID = X.Timer.remove( timerID );

static requestFrame(args1, args2, args3) → {number}

requestAnimationFrame をセットします。

Parameters:
Name Type Description
args1 * コールバックのための最大で 3 つの引数を指定します。参考:__CallbackHash__
args2 *
args3 *
Returns:
number タイマーID。1 以上の数値。タイマーの解除に使用。