js中关于多个定时器的问题

ifdashui 2017-07-07 10:01:30
本人js初学者,自己做了一个计时器,在一个事件中创建了多个计时器,怎么可以让他们同时关闭呢,求优化,只制作了部分

这里是body的部分

<input type="button" value="点击开始计时" id="btn1">
<input type="button" value="停止计时" id="btn2">
<br>
<span>0</span>
<span>0</span>
:
<span>0</span>
<span>0</span>


以下是js的部分

window.onload =function(){
var oBtn1 = document.getElementById('btn1');
var oBtn2 = document.getElementById('btn2');
var aSpan = document.getElementsByTagName('span');
var timer = '';
var number = '';


oBtn1.onclick = function(){

setInterval(function(){
number=3;
aSpan[number].innerHTML = parseInt(aSpan[number].innerHTML)+1;
if(aSpan[number].innerHTML==10)
{
aSpan[number].innerHTML = 0;
}

},1000);

setInterval(function(){
number = 2;
aSpan[number].innerHTML = parseInt(aSpan[number].innerHTML)+1;
if(aSpan[number].innerHTML == 6)
{
aSpan[number].innerHTML = 0;
}
oBtn2.onclick = function(){
clearInterval(timer4);
};
},10000);

};
};

好繁琐
...全文
1105 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
天际的海浪 2017-07-07
  • 打赏
  • 举报
回复
优化的话,只用一个span和一个定时器就好了

	   <input type="button" value="点击开始计时" id="btn1">
	   <input type="button" value="停止计时" id="btn2">
	   <br>
	   <span id="time">00:00</span>
		<script type="text/javascript">
		window.onload = function() {
			var oBtn1 = document.getElementById('btn1');
			var oBtn2 = document.getElementById('btn2');
			var t = document.getElementById("time");
			var timer;
			var number = 0;

			oBtn1.onclick = function() {
				clearInterval(timer);
				timer = setInterval(function() {
					number++;
					var m = Math.floor(number/60);
					var s = number%60;
					t.innerHTML = (m>9?"":"0")+m+":"+(s>9?"":"0")+s;
				}, 1000);
			};
			oBtn2.onclick = function() {
				clearInterval(timer);
			};
		};
		</script>

天际的海浪 2017-07-07
  • 打赏
  • 举报
回复

		window.onload  =function(){
		   var oBtn1 = document.getElementById('btn1');
		   var oBtn2 = document.getElementById('btn2');
		   var aSpan = document.getElementsByTagName('span');
		   var timer1 , timer2;
		   var number = '';

		   
		   oBtn1.onclick = function(){

		       timer1 = setInterval(function(){
			      number=3;
			      aSpan[number].innerHTML = parseInt(aSpan[number].innerHTML)+1;
				  if(aSpan[number].innerHTML==10)
				  {
				     aSpan[number].innerHTML  = 0;
				  }

			   },1000);
			   
			  timer2 = setInterval(function(){
			      number = 2;
				  aSpan[number].innerHTML = parseInt(aSpan[number].innerHTML)+1;
				  if(aSpan[number].innerHTML == 6)
				  {
				    aSpan[number].innerHTML = 0;
				  }
			   },10000);
		   };
		   oBtn2.onclick = function(){
			  clearInterval(timer1);
			  clearInterval(timer2);
		   }; 
		};

87,989

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧