码迷,mamicode.com
首页 > Web开发 > 详细

JS中setInterval()和clearInterval()的使用以及注意事项 (实用,赞)

时间:2019-10-23 11:58:52      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:number   attr   iter   ping   outline   fun   方法   dde   运行   

setInterval(): 间隔指定的毫秒数不停地执行指定的代码,定时器

clearInterval(): 用于停止 setInterval() 方法执行的函数代码

使用方法:
setInterval(code,millisec),两个参数都是必须的,第一个参数为要调用的函数或要执行的代码串。第二个参数为周期性执行或调用 code 之间的时间间隔,以毫秒计。

clearInterval(id_of_setinterval),参数是必须的,为setInterval返回的ID值

示例:

 

<body>

    <button οnclick="start()">按钮一</button>

    <button οnclick="stop()">按钮二</button>

    

    <script type="text/javascript">

var interval = null;//计时器

var i = 0;

function start(){//启动计时器函数

        if(interval!=null){//判断计时器是否为空

        clearInterval(interval);

interval=null;

}

 

interval = setInterval(overs,1000);//启动计时器,调用overs函数,

}

 

function overs(){

i++;

console.log(i);

}

 

        function stop(){

        clearInterval(interval);

interval = null;

}

    </script>

</body>

 

在使用setInterval方法时,每一次启动都需要对setInterval方法返回的值做一个判断,判断是否是空值,若不是空值,则要停止定时器并将值设为空,再重新启动,如果不进行判断并赋值,有可能会造成计时器循环调用,在同等的时间内同时执行调用的代码,并会随着代码的运行时间增加而增加,导致功能无法实现,甚至占用过多资源而卡死奔溃。因此在每一次使用setInterval方法时,都需要进行一次判断。

  1. <body>
  2.  
    <button οnclick="start()">按钮一</button>
  3.  
    <button οnclick="stop()">按钮二</button>
  4.  
     
  5.  
    <script type="text/javascript">
  6.  
    var interval = null;//计时器
  7.  
    var i = 0;
  8.  
    function start(){//启动计时器函数
  9.  
    if(interval!=null){//判断计时器是否为空
  10.  
    clearInterval(interval);
  11.  
    interval=null;
  12.  
    }
  13.  
     
  14.  
    interval = setInterval(overs,1000);//启动计时器,调用overs函数,
  15.  
    }
  16.  
     
  17.  
    function overs(){
  18.  
    i++;
  19.  
    console.log(i);
  20.  
    }
  21.  
     
  22.  
    function stop(){
  23.  
    clearInterval(interval);
  24.  
    interval = null;
  25.  
    }
  26.  
    </script>
  27.  
    </body>

JS中setInterval()和clearInterval()的使用以及注意事项 (实用,赞)

标签:number   attr   iter   ping   outline   fun   方法   dde   运行   

原文地址:https://www.cnblogs.com/shez/p/11725131.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!