如果您正在寻找更正式的东西,您可以构建封装setTimeout / clearTimeout功能的javascript类.

这样的类可能看起来像这样:

/** class Timer **/

var Timer = function(delayMs,callbackFunc) {

this.delayMs = delayMs;

this.callbackFunc = callbackFunc;

this.timerState = 'new';

}

Timer.prototype.start = function() {

if( this.tmr ) return;

var self = this;

this.timerState = 'running';

this.tmr = setTimeout(function() { self._handleTmr(); },this.delayMs);

}

Timer.prototype.cancel = function() {

if( ! this.tmr ) return;

clearTimeout(this.tmr);

this.tmr = null;

this.timerState = 'canceled';

}

Timer.prototype._handleTmr = function() {

this.tmr = null;

this.timerState = 'completed';

this.callbackFunc();

}

我还添加了一个timerState属性,可以让您轻松确定计时器是“已完成”还是“已取消”.

你会像这样使用它:

var t = new Timer(500,function() {

alert('timer completed');

});

t.start();

// do whatever...

// now cancel the timer if it hasn't completed yet.

t.cancel();

// maybe you do some other stuff...

// then check the timerState,and act accordingly.

//

if( t.timerState == 'canceled' ) {

alert("the timer was canceled!");

} else {

alert("the timer completed uneventfully.");

}

如果需要,您可以扩展相同的基本思想以包含其他功能(例如,重复计时器,开始/停止/恢复等)

HTML清除计时器的语句,如何知道计时器是否被清除或在javascript中超时?相关推荐

  1. 在一起计时器_如何在纯JAVASCRIPT中构建倒数计时器

    您不一定需要jQuery为您的站点添加倒数计时器.只需几行JavaScript即可创建一个可自定义的计时器,该计时器可计入预定义的日期和时间.您可以将计时器嵌入到多种页面中,例如即将推出和维护页面,电 ...

  2. java计时器脚本_在倒数计时器脚本中跳过很多秒

    我做了一个倒数计时器 . 它使用日期函数来获取当前时间 . 然后它将该时间存储在另一个var中 . 这个新的var会改变小时/分钟/秒,因此格式应该与日期函数相同 . 然后我将这两个变量转换为自计数以 ...

  3. this调用语句必须是构造函数中的第一个可执行语句_谈谈JavaScript中的函数构造式和new关键字...

    您是否曾困惑于 Javascript 中的new关键字呢?是否曾想理解关于 function 和 constructor 的区别是什么呢? 大多数 Javascript 的新开发者不太想要使用new关 ...

  4. 在JavaScript中使用示例继续语句

    JavaScript继续声明 (JavaScript continue statement) continue is a keyword in JavaScript, it is used with ...

  5. JavaScript中的运算符和语句

    一.JavaScript的运算符 a.基本的算术运算符(+.-.*./.%) -.*./.%运算符会在必要的时候将操作数转换为数字,无法转换成数字的操作数将会转换成NaN,相应的运算结果也是NaN. ...

  6. php页面添加js判断语句,JavaScript中if条件语句怎么使用

    JavaScript中的if可实现条件分支也就是条件语句,所以,接下来的这篇文章就来给大家介绍关于JavaScript中if条件语句的用法,下面我们来看具体内容. 我们先来看看条件分支(if语句)语句 ...

  7. JavaScript中语句与函数的执行辨析

    文章出自个人博客https://knightyun.github.io/2018/05/23/js-anonymous-function,转载请申明. Javascript代码中,语句和函数以及匿名函 ...

  8. Javascript中的条件语句和循环语句

    Javascript条件语句有以下几种: 单项条件结构 (if条件语句) 双向条件结构 (if...else条件语句) 多项条件结构 (switch条件语句) If条件语句的语法如下: if (exp ...

  9. 如何清除计算机搜索框内的搜索历史记录,如何清除搜索框中的网站访问历史记录...

    本文教你如何防止在网页浏览器地址栏中输入内容时显示匹配结果.记住,Mac 和 iPhone 平台上的 Safari 都不会保留表单数据,所以如果使用 Safari,就不需要担心这个问题.如果你想删除掉 ...

  10. 如何清除360网站服务器缓存,360安全浏览器怎样清除缓存360浏览器缓存清理

    <360安全浏览器怎样清除缓存360浏览器缓存清理>由会员分享,可在线阅读,更多相关<360安全浏览器怎样清除缓存360浏览器缓存清理(8页珍藏版)>请在人人文库网上搜索. 1 ...

最新文章

  1. OOALV 中DATA_CHANGED_FINISHED调用刷新弹出排序窗口解决方案
  2. nginx php7提速,nginx+php7-fpm 性能提升几倍跟踪实践结果并优化
  3. Kapacitor安装及使用
  4. python语言的开发者_写给.NET开发者的Python教程(一):引言
  5. lintcode :reverse integer 颠倒整数
  6. UVA 10602 - Editor Nottoobad
  7. HFT-CNN:层级多标签分类,让你的模型多学习几次
  8. 知了课堂 flask 笔记总结
  9. Sub-center ArcFace
  10. 外国人聊天常用的缩写(转)
  11. 这个牛逼的在线项目任务管理工具,终于开源了!
  12. 水泥cement或英语caement水泥
  13. 因特网在线聊天协议(IRCP/IRC)--网络大典
  14. linux版本有密钥吗,windows7密钥是什么意思又一Linux版本登陆微软Win10
  15. 关于加装新的SSD后,机械盘不识别(不显示)的问题解决
  16. Java代码审计--checklist
  17. 计算机与网络 文献,计算机与网络专著参考文献 计算机与网络参考文献怎么写...
  18. ImportError: cannot import name ‘_maybe_get_pandas_wrapper_freq‘ from ‘statsmodels.tsa.filters._util
  19. 计算机南方电网试题,南方电网考试真题
  20. 用C++自制一个病毒(1)

热门文章

  1. 高等代数期末考试题库及答案_高等代数3学时试题题目及答案,课程2021最新期末考试题库,章节测验答案...
  2. ed是什么梗_《JOJO的奇妙冒险》那些梗
  3. celery cluser redis_Celery配置Redis Sentinel做高可用
  4. EHIGH恒高:大话UWB技术之蓝牙定位的烦恼
  5. Android已有的原生Camera框架中加入自己的API的实现方案。
  6. 四十三 Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的mapping映射管理...
  7. 自定义View在android2.3.3手机上正常运行 在android4.2.2手机上报空指针
  8. MapControl与PageLayoutControl联动
  9. treeview实例
  10. 查询 加载时间过长添加提示信息