当前位置: 代码迷 >> Web前端 >> 暂停跟时间间隔
  详细解决方案

暂停跟时间间隔

热度:195   发布时间:2012-10-19 16:53:37.0
暂停和时间间隔

?1.setTimeout:

<script type="text/javascript">
		var iTimeoutId=0;
		function mytime(){
			var d=new Date();
			var year=d.getFullYear();//
			var month=d.getMonth()+1;//返回月份
			if(month<10){
				month="0"+month;
			}
			var date=d.getDate();//返回该日期该月中的某天
			if(date<10){
				date="0"+date;
			}
			var hour=d.getHours();//返回日期中的小时值
			var minute=d.getMinutes();
			if(minute<10)
				minute="0"+minute;
			var second=d.getSeconds();
			if(second<10)
				second="0"+second;
			//返回日期中的毫秒值
			var milesecond=d.getMilliseconds();
			var time=year+"年"+month+"月"+date+"日"+" "+hour+":"+minute+":"+second+":"+milesecond;
			document.all.t.value=time;
		}
		//setTimeout的用法
		setTimeout(mytime,10);
	</script>
  </head>
  <body onload="mytime();">
  	<p align="center">
  		<input type="text" name="t" id="t" size="30"/>
  	</p>
  </body>

?

2.setInterval:

<script type="text/javascript">
		var iTimeoutId=0;
		function mytime(){
			var d=new Date();
			var year=d.getFullYear();//
			var month=d.getMonth()+1;//返回月份
			if(month<10){
				month="0"+month;
			}
			var date=d.getDate();//返回该日期该月中的某天
			if(date<10){
				date="0"+date;
			}
			var hour=d.getHours();//返回日期中的小时值
			var minute=d.getMinutes();
			if(minute<10)
				minute="0"+minute;
			var second=d.getSeconds();
			if(second<10)
				second="0"+second;
			//返回日期中的毫秒值
			var milesecond=d.getMilliseconds();
			var time=year+"年"+month+"月"+date+"日"+" "+hour+":"+minute+":"+second+":"+milesecond;
			document.all.t.value=time;
		}
		//setInterval的用法
		setInterval(mytime,10);
	</script>
  </head>
  <body onload="mytime();">
  	<p align="center">
  		<input type="text" name="t" id="t" size="30"/>
  	</p>

?

分别执行上面的两段代码,setTimeout和setInterval的区别就清晰可见了。执行setTimeout的代码,时间是静止的,只执行了一次。执行setInterval的代码,时间是动态发生变化的

说明:

?

1.Javascript支持暂停和时间间隔。
2.暂停是在指定的毫秒数后执行指定的代码。时间间隔是反复执行指定的代码,每次执行之间等待指定的毫秒数。
3.可以用window对象的setTimeout()方法设置暂停,setInterval()方法设置时间间隔。

所以,setInterval里面的代码会反复的被执行!

  相关解决方案