setInterval动态改变定时器时间周期,三次点击事件,时间间隔内只捕捉一次点击事件
一、目标:
setInterval初始时间间隔为500ms,动态更改为2s/5s/暂停。
二、效果(//gif,如果看到的是静态的png,你该去换台能看动图的电脑。手动滑稽-。-)
三、实现:
1.动态改变计时器时间周期。
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 }
2.三次点击事件(setTimeout)
1 var count = 0, timer; 2 $('#three').click(function(){ 3 console.log("click"); 4 if(count < 2){ 5 if(timer){ 6 clearTimeout(timer); 7 } 8 count ++; 9 timer = setTimeout(function(){ 10 count = 0; 11 }, 500); 12 } 13 else if(count === 2){ 14 count = 0; 15 clearTimeout(timer); 16 threeClick(); 17 } 18 }); 19 function threeClick(){ 20 alert('three click');