JavaScript 与定时器有关方法

[size=medium]第一部分:setTimeout与clearTimeout

语法:setTimeout(func,millis)
func必须,函数或执行字符串
millis必须,间隔时间毫秒(1s=1000ms)
setTimeout 在执行时,是在载入后延迟指定时间后,去执行一次表达式,仅执行一次
setTimeout 在执行时,它从载入后,每隔指定的时间就执行一次表达式

1、基本用法
----------执行一段代码:[/size]
 var i=0;
setTimeout("i='this.string';alert(i)",1000);

[size=medium] ----------执行一个函数:[/size]
 var i=0;
setTimeout(function(){i+=1;alert(i);},1000);

[size=medium]2、递归调用[/size]
  var count=0;
function count(){
count++;
while(count<10){
setTimeout(count,1000);
}
}

[size=medium]3、在类中使用[/size]
function User(){
this.name="xilou";
this.sex="男";
this.num=0;
}
User.prototype.count=function(){
this.num+=1;
alert(this.num);
if(this.num>10){return;}
//下面用四种方法测试,一个一个轮流测试。
setTimeout("this.count()",1000);//A:当下面的x.count()调用时会发生错误:对象不支持此属性或方法。
setTimeout("count()",1000);//B:错误显示:缺少对象
setTimeout(count,1000);//C:错误显示:'count'未定义
//下面是第四种
var self=this;
setTimeout(function(){self.count();},1000);//D:正确
}

[size=medium]4、clearTimeout

要使用 clearTimeout( ), 需要给 setTimout( ) 一个名称:timeoutID ,用timeoutID停止调用。
timeoutID
 ↓[/size]
meter1 = setTimeout("count1( )", 1000)
meter2 = setTimeout("count2( )", 1000)

[size=medium]使用meter1 及meter2等 timeoutID 名称可以具有针对某个定时器清除,而互不影响。

第二部分:setInterval与clearInterval

setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。
setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。
由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。

语法:setInterval(code,millisec)
code 必需。要调用的函数或要执行的代码串。
millisec 必需。周期性执行或调用 code 之间的时间间隔,以毫秒计。
一个可以传递给 Window.clearInterval() 从而取消对 code 的周期性执行的值。[/size]

var leftSeconds = 10;
var intervalId;
$(function(){
$("#btnReg").attr("disabled",true);
intervalId = setInterval("countDown()",1000);
});
function countDown(){
if(leftSeconds <=0){
$("#btnReg").val("submit");
$("#btnReg").attr("disabled",false);
clearInterval(intervalId);
return;
}else{
leftSeconds--;
$("#btnReg").val("请仔细阅读" + leftSeconds + "秒");
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值