首頁  >  文章  >  web前端  >  window.setInterval()方法的定義與用法及offsetLeft與style.left的差別_javascript技巧

window.setInterval()方法的定義與用法及offsetLeft與style.left的差別_javascript技巧

WBOY
WBOY原創
2016-05-16 15:32:401283瀏覽

定義與用法

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的位置。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn