【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=setInterval(change,timer);
 8     });
 9     $(‘#t2‘).click(function(){
10         timer=5000;
11         clearInterval(t);
12         t=setInterval(change,timer);
13     });
14     $(‘#t3‘).click(function(){
15         timer=5000;
16         clearInterval(t);
17         //t=setInterval(change,timer);
18     });
19     document.getElementById(‘container‘).innerHTML=index ;
20     index++;
21 }

html实例:

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <!--meta name="viewport" content="initial-scale=1.0, user-scalable=no" /-->
 5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 6 <title>动态改变定时器的周期</title>
 7 <style type="text/css">
 8 html{height:100%}
 9 body{width:60%;height:100%;margin:0px auto;padding:0px}
10 #container{height:5%}
11 </style>
12 <!-- <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=BMgnVpFhGSH7GE8l7qnWhESkeCr12n9v"> -->
13 <!-- //v2.0版本的引用方式:src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥" -->
14 <script src="http://cdn.static.runoob.com/libs/jquery/2.1.1/jquery.min.js"></script>
15 </script>
16 </head>
17
18 <body>
19 <p style=‘color:gray‘>周期定时器,初始化周期为500ms</p>
20 <div id="container"></div>
21 <button id=‘t1‘>2s</button>
22 <button id=‘t2‘>5s</button>
23 <button id=‘t3‘>暂停</button>
24 <script type="text/javascript">
25
26 var index=0;
27 var timer=500;
28
29
30 var t=setInterval(change,timer);
31
32 function change(){
33     $(‘#t1‘).click(function(){
34         timer=2000;
35         clearInterval(t);
36         t=setInterval(change,timer);
37     });
38     $(‘#t2‘).click(function(){
39         timer=5000;
40         clearInterval(t);
41         t=setInterval(change,timer);
42     });
43     $(‘#t3‘).click(function(){
44         timer=5000;
45         clearInterval(t);
46         //t=setInterval(change,timer);
47     });
48     document.getElementById(‘container‘).innerHTML=index ;
49     index++;
50 }
51
52 </script>
53 </body>
54 </html>

原文地址:https://www.cnblogs.com/carsonwuu/p/9120994.html

时间: 2024-08-25 09:39:46

【js】setInterval动态改变定时器时间周期的相关文章

在IE中使用js/jquery动态改变select的值时,select宽度缩短问题解决方法

今天在检查功能的时候,突然发现在IE里面有个select动态改变的时候宽度一直在缩短,试过很多方式都没解决 在网上找了很久才找到一个,先插入空的option,再进行赋值就OK了,记录一下,以后会用到的 var obj = document.getElementById('lst1'); var opn = document.createElement("OPTION"); obj.appendChild(opn);//先追加 opn.innerText = 11; opn.value

php使用post动态选择头像和js事件动态改变头像

<html> <head> <meta http-equit="Content-type" content="text/html" charset="utf-8"> <title>动态选择头像logo</title> <script type="text/javascript"> function check(obj){ $("showImage

动态改变setInterval的时间间隔

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

javascript生成表格增删改查 JavaScript动态改变表格单元格内容 动态生成表格 JS获取表格任意单元格 javascript如何动态删除表格某一行

jsp页面表格布局Html代码 <body > <center> <input type="text" value="111" id="mytext"> <table border="1" width="60%" id="mytable"> <tr> <td id="td1">第一行第一列<

js动态改变iframe的高度

js动态改变iframe的高度的写法 〈iframe id="docDetail" width="100%"  height="200" frameborder="0" src="a.htm"〉 〈/iframe〉 而a.html不是固定大小的,这个时候嵌套的iframe就会出现滚动条. 通过js获取iframe的高度,然后动态的改变,这样就不会出现滚动条. 方式一:在jsp的body里增加onload方法

js动态改变图片src在ie6下的兼容问题

场景:验证码图片在ie6下出不来 这个BUG折腾了我近半个小时,最后GOOGLE成功,原因是IE6的底层BUG,我们使用<a>的href属性改变的时候会中断加载,导致我们看不到图片,这经常在验证码或动态改变图片的时候遇到. 所以我们在使用a 链接时通常href和onclick都会同时用到,链接的 onclick 事件被先执行,其次是 href 属性下的动作(页面跳转,或 javascript 伪链接),假设链接中同时存在 href 与 onclick,如果想让 href 属性下的动作不执行,o

JS实现动态瀑布流及放大切换图片效果(js案例)

整理了一下当时学js写的一些案例,再次体验了一把用原生JS实现动态瀑布流效果的乐趣,现在把它整理出来,需要的小伙伴可以参考一下. 该案例主要是用HTML+CSS控制样式,通过JS实现全局瀑布流以及点击图片放大.上下切换效果.HTML布局写的很简单,图片加载主要是在JS中通过访问自定义的JSON字符串来实现.动态瀑布流的原理简单理解就是把新需要加载的图片放在上一排总高度最小的图片或模块下面,实现参差不齐的多栏布局效果.具体效果如下: 做这个案例我用了之前自己封装的框架,所以小伙伴需要到我的另一篇文

关于js中两种定时器的设置及清除

1.JS中的定时器有两种: window.setTimeout([function],[interval]) 设置一个定时器,并且设定了一个等待的时间[interval],当到达时间后,执行对应的方法[function],当方法执行完成定时器停止(但是定时器还在,只不过没用了); window.setInterval([function],[interval]) 设置一个定时器,并且设定了一个等待的时间[interval],当到达时间后,执行对应的方法[function],当方法执行完成,定时器

javascript中window与document对象、setInterval与setTimeout定时器的用法与区别

一.写在前面 本人前端菜鸟一枚,学习前端不久,学习过程中有很多概念.定义在使用时容易混淆,在此给向我一样刚踏入前端之门的童鞋们归纳一下.今天给大家分享一下js中window与document对象.setInterval与setTimeout定时器的用法与区别.讲得不对的地方,烦请大家指正,还望前辈.大牛多多指教! 二.window对象与document对象的用法和区别 window是全局对象,document是window对象的一个属性它也是一个对象.如图: document对象指的页面这个文档