javascript 定时器用法

<!DOCTYPE html>
<html>
  <head>
    <title>setTime.html</title>
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <script src="jquery-1.7.1.js"></script>


  </head>
  <script type="text/javascript">
  //写法一  在调用N次后停止调用
     var index=0;
     //f 调用方法  time延迟时间 end调用N次结束
     function invoke(f,time,end){
        if(!time) time=0;//默认0毫秒
        if(!end) end=1;//默认1次
        if(end==1){
           setTimeout(f,time);
        }else{
           var hh=setInterval(function(){
             show();
             if(index==end) clearInterval(hh);
           },time);
        }
     }
     function show(){
         index++;
         $("#span").html("执行次数:"+index);
     }
     
     //写法二 根据传参个数决定调用方法
     //f 调用方法   time延迟时间    end结束时间
     var index2=0;
     function invoke2(f,time,end){
        if(!time) time=0; //默认初始值为0毫秒
        if(arguments.length<=2){//单次调用模式  arguments.length 即参数个数
           setTimeout(f,time);
        }else{
           var h=setInterval(f,time);//循环f();
           //在end毫秒后停止调用
           setTimeout(function(){clearInterval(h);},end+1);
        }
     }
     function show2(){
        index2++;
        $("#span2").html("执行次数:"+index2);
     }
  </script>
  <body>
    <a href=javascript:void(0); οnclick="invoke('show()',1000,0);">1.setTimeout定时器</a>
    <a href=javascript:void(0); οnclick="invoke('show()',1000,5);">1.setInterval定时器</a>
    <br>
    <h1 id=span></h1>
    <br>
    <a href=javascript:void(0); οnclick="invoke2('show2()',1000);">2.setTimeout定时器</a>
    <a href=javascript:void(0); οnclick="invoke2('show2()',1000,2000);">2.setInterval定时器</a>
    <br>
    <h1 id=span2></h1>
  </body>

</html>

写了两种方法供参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值