window.setInterval()方法的定義和用法及offsetLeft與style.left的區別,window.setinterval
定義和用法
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的位置。