zoukankan      html  css  js  c++  java
  • javascript定时器,取消定时器,及js定时器优化方法

    通常用的方法:

    启动定时器:

     

    [javascript] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. window.setInterval(Method,Time)    

     

    Method是定时调用的js方法

    Time是间隔时间,单位是毫秒

    取消定时器:

     

    [javascript] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. clearInterval(Method);  


    那么问题来了。用 clearInterval(timerid);来清除,往往不能马上停止,用什么方法比较好解决?

     

    优化方案如下

     

    [javascript] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. var timeout = false//启动及关闭按钮  
    2. function time()  
    3. {  
    4.   if(timeout) return;  
    5.   Method();  
    6.   setTimeout(time,100); //time是指本身,延时递归调用自己,100为间隔调用时间,单位毫秒  
    7. }  

     

    总结
    一般不用setInterval,而用setTimeout的延时递归来代替interval。

    setInterval会产生回调堆积,特别是时间很短的时候。  


    转自:http://blog.csdn.net/johnstrive/article/details/42216005

  • 相关阅读:
    windown reids
    redis 类型、方法
    nginx 路由配置
    http status code
    beego orm mysql
    thinkphp5
    beego
    MAC 更新brew 镜像源
    php session存入redis
    ios项目开发— iOS8 定位功能API改变
  • 原文地址:https://www.cnblogs.com/daysme/p/6428412.html
Copyright © 2011-2022 走看看