zoukankan      html  css  js  c++  java
  • settimeout,cleartimeout的使用分析

         设置时间的定时轮回执行,大家想到的js也就是settimeout这个方法,这个方法确实能够实现定时反复执行的功能,clearttimeout这是清理或者是暂停轮回执行的情况。可是发现clearttimeout清理不了上次执行的settimeout句柄,到底怎么回事,是clearttimeout方法不好使?带着这个问题,我开始翻阅今天编写的代码,在js中,settimeout方法会返回一个int类型的数据,俗成为定时器编号或者ID,这个编号能够标识改定时器的唯一性,clearttimeout则用该ID,清理该计时器。那么不能清理,一定是clearttimeout对应的ID不是创建setttimeout对应的ID,带着这个疑问,我打印日志,发现确实不是同一个ID。

    我定义全局的变量来记录settimeout对应的ID,这个ID怎么会变那?带着这个疑问,我又开发翻阅代码,最后才发现,在Jquery中,我们使用click事件调用的名称是click,而普通网页响应用户点击事件用的是onclick,就是这两个单词不同,导致了,我后续定时器关闭不了,既然找到问题,我就用jquery绑定点击事件。

    $(function(){
       $("c#btnclicknum").bind("click",function(){........要处理代码块.....
              $(this).unbind();    
        }); 
    })

    统一使用Jquery的方法,就可以解决定时器销毁的问题。

    针对Jquery ,使用的时候,一定记得那些事jquery的方法,不可以与html方法混合使用,即时混合使用,一定要区分好怎么使用。

  • 相关阅读:
    P1169 [ZJOI2007]棋盘制作
    P4147 玉蟾宫
    P1387 最大正方形
    动态规划之悬线法
    P2330 [SCOI2005]繁忙的都市
    最小生成树
    P2936 [USACO09JAN]全流Total Flow
    Python开发之规范化目录
    python模块知识四 包和logging日志
    python模块知识三 hashlib 加密模块、collections、re模块
  • 原文地址:https://www.cnblogs.com/xibei666/p/5059629.html
Copyright © 2011-2022 走看看