web页面定时器设置

window.setInterval()
功能:按照指定的周期(以毫秒计)来调用函数或计算表达式。
语法: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 + "秒");
    }
}

猜你喜欢

转载自liushuiwuyan.iteye.com/blog/2394779