定義與用法
setInterval() 方法可依照指定的周期(以毫秒計)來呼叫函數或計算表達式。
setInterval() 方法會不停地呼叫函數,直到 clearInterval() 被呼叫或視窗關閉。由 setInterval() 傳回的 ID 值可用作 clearInterval() 方法的參數。
提示: 1000 毫秒= 1 秒。
文法
setInterval(code,millisec,lang)
参数 | 描述 |
---|---|
code | 必需。要调用的函数或要执行的代码串。 |
millisec | 必须。周期性执行或调用 code 之间的时间间隔,以毫秒计。 |
lang | 可选。 JScript | VBScript | JavaScript |
總結:
此方法可以依照指定的周期執行來執行一段程式。週期是以毫秒為單位的。
此方法如果不關閉遊覽器或呼叫clearInterval()方法將會永遠的執行下去。
傳回值是此方法的唯一ID識別。
停止此定時器函數的執行可以參考clearInterval()方法一章節。
點選可參考更多window物件的屬性與方法。
瀏覽器支援:
(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 取得或設定相對於 具有定位屬性(position定義為relative)的父物件 的左邊距
如果父div的position定義為relative,子div的position定義為absolute,那麼子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的位置。