js 時間間隔執行函式
JavaScript 支援暫停和時間間隔,這課有效的告訴瀏覽器應該何時執行某行程式碼。暫停就是在指定的毫秒數。
1、setTimeout('function',time):
第一個引數可以是程式碼串,也是可以函式指標,第二個引數是暫停時間(秒)。
function time(){
alert('執行');
}
window.onload=function(){
setTimeout(time,1000);
}
這個表示在一秒後執行time()函式,呼叫setTimeout()時,它創見一個數字暫停ID,與作業系統的程序ID相似。暫停ID本質上是要延遲的程序的ID,在呼叫setTimeout()時後,就不應該在執行其他程式碼。想取消還未執行的暫停,可以用clearTimeout()來取消,
2、clearTimeout():
接受一個引數:執行setTimeout()時,建立的暫停ID;
<script>
var s = 0;
function run(){
s = setTimeout(a,1000)
}
function a(){
alert(2)
}
function stop(){
clearTimeout(s)
}
</script>
<input type='button' value='run' onclick='run()'>
<input type='button' value='stop' onclick='stop()'>
在按下run時出發run()函式,執行setTimeout()並將建立的ID傳給s,在一秒後執行a(),如果在1秒內點選stop就會停止setTimeout()函式的執行。
2、還有一種執行方法,與暫停類似,setInterval()就是時間間隔表示在某段時間內不停的去執行一行程式碼,除了停止它否則會一直執行下去,這就是與setTimeout()不同之處,一個是暫停多少秒後執行一次,而setInterval()是一直執行。
function time(){
alert('執行');
}
window.onload=function(){
setInterval(time,1000);
}
1秒內不停的呼叫time().和setTimeout()一樣setInterval()也有停止它的函式,clearInterval()停止函式執行。
<script>
var s = 0;
function run(){
s = setInterval(a,1000)
}
function a(){
alert(2)
}
function stop(){
clearInterval(s)
}
</script>
<input type='button' value='run' onclick='run()'>
<input type='button' value='stop' onclick='stop()'>
在按下run時出發run()函式,執行setInterval()並將建立的ID傳給s,在一秒後執行a(),如果在1秒內點選stop就會停止setInterval()函式的執行。否則就會一直執行a()函式,這是與setTimeout()的不同之處
如何選擇使用那種方法,在執行一組程式碼前要等待一段時間,就使用暫停setTimeout(),如果要反覆的去執行一組程式碼時就用間隔setInterout().