js怎么清除定時器?
在實現(xiàn)清除定時器之前,我們需要開啟定時器
一、設置定時器
window對象提供了兩個方法來實現(xiàn)定時器的效果,
分別是window.setTimeout()和window.setInterval。其中前者可以使一段代碼在指定時間后運行;而后者則可以使一段代碼每過指定時間就運行一次。它們的原型如下:
window.setTimeout(code,millisec);
var i = 0; //設置定時器(循環(huán)去執(zhí)行) var timeId = setInterval(function () { i++; console.log('定時運行:' + i + '次') }, 500) //清理定時器 my$('btn').onclick = function () { window.clearInterval(timeId) }
window.setInterval(code,millisec);
var i = 0; //設置定時器(一次性定時器) var timeId = setTimeout(function () { i++; console.log('定時運行:' + i + '次') }, 500) //清理定時器(這個定時器雖然只有一次,但是也得清理 既可以釋放內存,也可以便于后邊代碼的判斷。) my$('btn').onclick = function () { window.clearTimeout(timeId) }
其中,code可以是用引號括起來的一段代碼,也可以是一個函數(shù)名,到了指定的時間,系統(tǒng)便會自動調用該函數(shù),當使用函數(shù)名作為調用句柄時,不能帶有任何參數(shù);
而使用字符串時,則可以在其中寫入要傳遞的參數(shù)。兩個方法中的第二個參數(shù)是millisec,表示延時或者重復執(zhí)行的毫秒數(shù)。
二、清除定時器
由于定時器在調用時,都會返回一個整形的數(shù)字,該數(shù)字代表定時器的序號,即第多少個定時器,所以定時器的清除要借助于這個返回的數(shù)字。
定時器清除的方法:clearTimeout(obj)和clearInterval(obj)。(注意對于的定時器用對于的清除方法)