可暂停和恢复的定时器【JS向,无感莫入】

楼主
我是社区第55902位番薯,欢迎点我头像关注我哦~
问题来源:
http://bbs.fanruan.com/thread-104129-1-1.html
解析:在该帖中,撸主选用的方案,一定程度上解决了我们定时的时候需要的暂停问题,但同时也暴露了另外一个问题就是,恢复和资源消耗。
帖子里面的方案暂停时定时器本身依然是在执行的。而且在暂停后无法按照原序进行恢复,打个比方,一次定时是5秒,在执行后2秒按暂停,这个时候定时器依然是执行消耗资源的。当过一段时间点击执行时,本来应该是3秒后继续执行,但是实际却是要看脸了~执行时间将在0-5秒之间波动~

解决方案:我们应该定义一个全新的定时器,可以暂停,暂停时定时器是真的暂停不再消耗资源,继续执行的时候,可以按原来的时序进行恢复。

代码: MidasTimer.js (1.2 KB, 下载次数: 19, 售价: 40 个F豆)
          进度条版本: MidasTimer.js (1.48 KB, 下载次数: 8, 售价: 40 个F豆) 测试cpt 定时器测试.cpt (3.28 KB, 下载次数: 27)


使用方法:在需要使用定时器的模板或者表单里面通过引入该JS文件即可。

调用方法:根据自己的需要在具体位置选择具体方法调用即可
  1. //创建定时器 三个参数,第一个是要执行的函数,第二个是定时长,第三个是创建后是否立即执行
  2. test = Timer(function(){console.info(new Date());},2000,true);
  3. //(继续)执行定时器
  4. test.start();
  5. //暂停定时器,会返回剩余的执行时间
  6. test.stop();
  7. //销毁定时器
  8. test.clear();
复制代码

编辑于 2018-3-15 16:03  
分享扩散:
参与人数 +2 F豆 +2 理由
影丶 + 1 默默地点个赞,然后闪人
flyingsnake + 1 默默地点个赞,然后闪人

查看全部评分

沙发
发表于 2018-3-15 11:14:54
师傅好厉害
板凳
发表于 2018-3-15 12:57:22
地板
发表于 2018-3-15 14:30:02
5楼
发表于 2018-3-15 14:31:36
大神 6666
6楼
发表于 2018-3-16 09:24:45
膜拜大神
7楼
发表于 2018-3-27 13:20:38

大神 6666
大神 6666
大神 6666
大神 6666
8楼
发表于 2018-3-29 13:04:40
6666666666666666
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

7回帖数 1关注人数 8035浏览人数
最后回复于:2018-3-29 13:04

返回顶部 返回列表