功能:按照指定的周期(以毫秒计)来调用函数或计算表达式。
语法:setInterval(code,millisec)
解释:code:在定时时间到时要执行的JavaScript代码串。
millisec:设定的定时时间,用毫秒数表示。
返回值:定时器的ID值,可用于clearInterval()方法停止指定的定时器。
注:setInterval()方法会不停地调用函数,直到用clearInterval()终止定时或窗口被关闭。
window.clearInterval()
功能:取消由setInterval()方法设置的定时器。
语法:clearInterval(id_of_setinterval)
解释:id_of_setinterval:由setInterval()返回的ID值。该值标识了一个setInterval定时器。
也就是:window.setInterval()返回的就是window.clearInterval的参数
例子:
<script type="text/javascript"> var count = 0; var timeID; function timeCount(){ document.getElementByIdx('timetxt').value = count; count++; } function beginCount(){ timeID = setInterval("timeCount()",1000); } function stopCount(){ clearInterval(timeID); } </script> <input type="button" value="开始计时" onclick="beginCount()" /> <input type="text" id="timetxt" size="5" /> <input type="button" value="停止计时" onclick="stopCount()" />
再如:
var objTimer = window.setInterval("moveDiv()",10)是调动定时器,其中moveDiv是js的一个函数
if(objTimer) window.clearInterval(objTimer)是停止定时器
常用于按键点击后的倒数,如发送验证码按键等。。
//倒计时 var InterValObj; //timer变量,控制时间 var count = 60; //间隔函数,1秒执行 var curCount;//当前剩余秒数 function countSecond() { curCount = count; $("#validate_btn").attr("disabled", "true"); InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器,1秒执行一次 } function SetRemainTime() { if (curCount == 0) { window.clearInterval(InterValObj);//停止计时器 $("#validate_btn").removeAttr("disabled");//启用按钮 $("#validate_btn").val("重新发送验证码"); } else { curCount--; $("#validate_btn").val("再次发送需等待" + curCount + "秒"); } }