定義と使用法
setInterval() メソッドは、指定された期間 (ミリ秒単位) に従って関数を呼び出したり、式を計算したりできます。
setInterval() メソッドは、clearInterval() が呼び出されるかウィンドウが閉じられるまで、関数を呼び出し続けます。 setInterval() によって返される ID 値は、clearInterval() メソッドの引数として使用できます。
ヒント: 1000 ミリ秒 = 1 秒。
文法
setInterval(code,millisec,lang)
参数 | 描述 |
---|---|
code | 必需。要调用的函数或要执行的代码串。 |
millisec | 必须。周期性执行或调用 code 之间的时间间隔,以毫秒计。 |
lang | 可选。 JScript | VBScript | JavaScript |
概要:
指定された周期に従ってプログラムを実行するメソッドです。期間はミリ秒単位です。
ブラウザを閉じるか、clearInterval() メソッド を呼び出さない場合、このメソッドは永久に実行されます。
戻り値は、このメソッドの一意の ID です。
このタイマー関数の実行を停止するには、clearInterval() メソッドの章を参照してください。
クリックすると、ウィンドウ オブジェクトのプロパティとメソッドがさらに表示されます。
ブラウザのサポート:
(1) IE ブラウザはこの方法をサポートしています。
(2). Firefox ブラウザはこの方法をサポートしています。
(3) Opera ブラウザはこの方法をサポートしています。
(4). Chrome ブラウザはこの方法をサポートしています。
(5).Safria ブラウザはこの方法をサポートしています。
コード例:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>蚂蚁部落</title> <script type="text/javascript"> window.onload=function(){ n=0; function show(){ document.getElementById("mytext").value=n+1; n=n+1; } var flag=setInterval(show,1000) } </script> </head> <body> <input type="text" size=10 id="mytext" /> </body> </html>
offsetLeft と style.left の違いをご紹介します
offsetLeft は、親オブジェクトを基準にして左マージンを取得します
left は、位置属性を持つ親オブジェクトを基準とした左マージン
を取得または設定します (位置は相対として定義されます)。親 div の位置が相対として定義され、子 div の位置が絶対として定義されている場合、子 div の style.left の値は親 div の値に対して相対的になります。
これは offsetLeft と同じですが、違いは次のとおりです:
1. style.left は 28px などの文字列を返し、offsetLeft は 28 の値を返します。取得した値を計算する必要がある場合は、
offsetLeft を使用すると便利です。
2. style.left は読み取り/書き込み可能ですが、offsetLeft は読み取り専用なので、div の位置を変更するには、style.left を変更するだけです。
3. style.left の値を事前に定義する必要があります。定義されていない場合、取得される値は空になります。
で定義されている場合は、HTML で定義する必要があります。
CSS では、style.left の値が空のままです。これは、最初に遭遇した問題です。style.left の値を常に取得できません。
offsetLeft は、div の位置を事前に定義しなくても取得できます。