关于动态修改定时器的时间间隔

定时器的时间间隔是不能修改的,只能不停的创建,清除,创建。做出时间间隔变换的表象
使用函数表达式和递归实现:

var counter = 10;
var myFunction = function(){
    clearInterval(interval);
    counter *= 10;
    interval = setInterval(myFunction, counter);
}
var interval = setInterval(myFunction, counter);

由于在运行时,setInterval立马被清除,实际可用setTimeout代替。摘自 http://www.cnblogs.com/zhangyuping/p/3841706.html
时间: 2024-10-27 13:42:37

关于动态修改定时器的时间间隔的相关文章

Quartz总结(四):动态修改定时器二

前文:http://www.cnblogs.com/LiuChunfu/p/5598806.html 提到了一种动态修改定时器的方法, 其本质就是在job方法中注入Schedular的对象,从Schedular中获取Trigger(触发器),然后修改触发器的条件,重新启动. 前文中的方法,其实已经涉及到了循环调用. Job类 => Job => Trigger => Schedular =>Job类. 这样是很容易发生问题的,也确实在实际项目中发生了问题,特别是当Schedular

动态修改Spring定时器

spring 的Quartz定时器的功能非常强大,可以在特定的年月日小时分秒的时间点触发时间,完成事件的调度,就像windows中得计划任务一样.下面看一个典型的Quartz定时器的实现: 1.首先实现一个用于被执行的类,这个类用于被定时器调度,这个类不需要继承任何类或者接口,代码如下: public TestQuartz { public void doSomething(){ //TODO } } 2.spring配置文件,具体配置 <!-- 被执行类 --> <bean id=&q

自己动手丰衣足食之轮播图一动态修改marginTop属性实现轮播图

引言 学习jQuery有年头了,刚开始学习时自己动手写过轮播图,放的久了以至于忘了大致思路了.现在转而做前端,抽空把jquery轮播图拿出来写一写,把各种思路都自己练习练习,这里主要使用动态修改marginTop来实现. 实现原理 1.除第一张图片外,其余图片全部隐藏,4张图片重叠起来. 2.导航按钮添加mouseover和mouseleave事件. 3.设置interval函数,启动定时器调用ShowImg函数. 4.动态修改marginTop属性达到上下轮播的效果,说道动态修改margin属

动态改变setInterval的时间间隔

这段时间做抽奖的转盘,需要实现抽奖转速由慢变快的效果.这就需要在setInterval运行时动态缩短时间间隔来实现.在实际操作中我发现无法改变一个timer的时间间隔,而需要反复的运行,清除,再运行,再清除(定时器).使用函数表达式和递归实现: var counter = 10; var myFunction = function(){ clearInterval(interval); counter *= 10; interval = setInterval(myFunction, count

任务调度(二)——jdk自带的Timer 动态修改任务执行计划

上一篇博文<任务调度(一)--jdk自带的Timer>中,简单介绍了一下Timer,本文将分享一下如何动态修改Timer制定的计划. 先上代码: package com.tgb.ccl.schema.dynamic; import java.util.Date; /** * 可动态修改的任务 * * @author arron * @date 2015年5月9日 下午1:52:15 * @version 1.0 */ public class DynamicTimerTask extends

【js】setInterval动态改变定时器时间周期

setInterval动态改变定时器时间周期 一.目标: setInterval初始时间间隔为500ms,动态更改为2s/5s/暂停. 二.效果(//gif,如果看到的是静态的png,你该去换台能看动图的电脑.) 三.实现: js控制: 1 var t=setInterval(change,timer); 2 3 function change(){ 4 $('#t1').click(function(){ 5 timer=2000; 6 clearInterval(t); 7 t=setInt

log4j2和logback动态修改日志级别工具类

工作中,有些场景需要动态修改线上日志记录器的打印日志级别, 本文的两个工具类使用的版本如下: ----------------logback--------------------- <dependency>   <groupId>ch.qos.logback</groupId>   <artifactId>logback-core</artifactId>   <version>1.1.8</version></d

动态修改类注解(赋值)

1. 动态修改注解元凶: Java代码 /**  * 对象池工具类  *   * 目前提供ORM动态映射解决方案  *   * @author andy.zheng  * @since 2012.09.25 15:55 PM  * @vesion 1.0  *   */ public class ClassPoolUtils {                  /**      * 运行时动态ORM表映射      *       *       * @param entityClassNam

js 动态修改css文件

_.find(document.styleSheets[4].cssRules,function(cssRule){ if(cssRule.selectorText && cssRule.selectorText.indexOf(".navbar-fixed-top2")>-1){ cssRule.style.position=""; cssRule.style.top = "0px"; } if(cssRule.selec