JS 定时器的用法

定时器的用法

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>定时器的基本用法</title>
	<script type="text/javascript">
		//单次定时器
		var timer = setTimeout(function(){
			alert('hello!');
		}, 3000);

		//清除单次定时器
		clearTimeout(timer);

		//反复循环定时器
		var timer2 = setInterval(function(){
			alert('hi~~~');
		}, 2000);

		//清除反复循环定时器
		clearInterval(timer2);
	</script>
</head>
<body>
	
</body>
</html>

定时器动画

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>定时器动画</title>
	<style type="text/css">
		.box{
			width: 100px;
			height: 100px;
			background-color: gold;
			position: fixed;
			left: 20px;
			top: 20px;
		}
	</style>
	<script type="text/javascript">
		window.onload = function(){
			var oBox = document.getElementById('box');

			var left = 20;
			//反复循环定时器,每30毫秒修改一次盒子的left值
			var timer = setInterval(function(){
				left += 2;
				oBox.style.left = left + 'px';

				//当left值大于700时停止动画(清除定时器)
				if(left > 700){
					clearInterval(timer);
				}
			},30);
		}
	</script>
</head>
<body>
	<div class="box" id="box"></div>
</body>
</html>

时钟

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>时钟</title>
	<style type="text/css">
		
	</style>
	<script type="text/javascript">
		window.onload = function(){
			var oBox = document.getElementById('box');

			function timeGo(){
				var now = new Date();
				// alert(now);//弹出美式时间:Wed Jun 20 2018 15:27:13 GMT+0800 (中国标准时间)
				var year = now.getFullYear();//2018年
				var month = now.getMonth() + 1;//6月弹出5//范围0-11
				var date = now.getDate();//20号
				var week = now.getDay();//3//星期几,西半球时间,范围0-6,星期日为一周的第一天,为0

				var hour = now.getHours();
				var minute = now.getMinutes();
				var second = now.getSeconds();

				// alert(hour + ":" + minute + ":" + second);//15:33:9

				oBox.innerHTML = '当前时间是:' + year + '年' + toDouble(month) + '月' + toDouble(date) + '日 ' + toWeek(week) + ' ' + toDouble(hour) + ":" + toDouble(minute) + ":" + toDouble(second);
			}

			timeGo();
			setInterval(timeGo, 1000);
		}

		//此函数将星期的数字转为汉字表示
		function toWeek(num){
			switch(num){
				case 0:
					return '星期天'; 
					break;
				case 1:
					return '星期一'; 
					break;
				case 2:
					return '星期二'; 
					break;
				case 3:
					return '星期三'; 
					break;
				case 4:
					return '星期四'; 
					break;
				case 5:
					return '星期五'; 
					break;
				case 6:
					return '星期六'; 
					break;
			}
		}

		//此函数将不足两位的数字前面补0
		function toDouble(num){
			if(num < 10){
				return '0' + num;
			}else{
				return num;
			}
		}
	</script>
</head>
<body>
	<div id="box"></div>
</body>
</html>

倒计时

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>倒计时</title>
	<script type="text/javascript">
		window.onload = function(){
			//活动第二天要将页面下线,直接跳转到其它页面,不会走后面的代码了
			// window.location.href = "http://www.baidu.com";

			var oDiv = document.getElementById('div1');

			function timeLeft(){
				//实际开发中此时间从服务器获取,避免客户端调整时间
				var now = new Date();
				var future = new Date(2018,5,20,16,30,20);

				// alert(future - now);//弹出与当前时间相差的毫秒数:12469935436
				var milli = parseInt((future - now)/1000);

				//活动当天页面下线,避免倒计时到点后继续计负时
				// if(milli <= 0){
				// 	//页面跳转,不执行下面的代码了
				// 	window.location.href = "http://www.baidu.com";
				// }

				var day = parseInt(milli / 86400);
				var hour = parseInt(milli % 86400 / 3600);
				var minute = parseInt(((milli % 86400) % 3600) / 60);
				var second = milli % 60;

				oDiv.innerHTML = '距离2018年11月12日00时00分00秒还有' + day + '天' + toDouble(hour) + '时' + toDouble(minute) + '分' + toDouble(second) + '秒';
			}
			
			timeLeft();
			setInterval(timeLeft, 1000);
		}

		function toDouble(num){
			if(num < 10){
				return '0' + num;
			}else{
				return num;
			}
		}
	</script>
</head>
<body>
	<div id="div1"></div>
</body>
</html>!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在JavaScript中,常用的定时器方法有四个:setTimeout、setInterval、clearTimeout和clearInterval。 setTimeout函数用于在指定的时间后执行一次JavaScript代码。它的格式为setTimeout("js语句", 定时时间),其中定时时间的单位是毫秒。例如,使用setTimeout的语法如下: setTimeout(function(){ console.log("炸弹定时器,到达时间后执行"); }, 5000); 这段代码会在5秒后执行一次console.log语句。 setInterval函数用于按照指定的时间间隔重复执行一段JavaScript代码。它的格式为setInterval(函数, 时间),其中时间的单位是毫秒。例如,使用setInterval的语法如下: var i = 0; setInterval(function(){ console.log(i); i++; }, 1000); 这段代码会每隔1秒钟输出一次i的值,并将i的值1。 如果需要停止定时器的执行,可以使用clearTimeout和clearInterval函数。它们的格式分别为clearTimeout(需要停止的对象)和clearInterval(需要停止的对象)。例如,使用clearTimeout和clearInterval的语法如下: var num1 = setTimeout(function(){}, 时间); var num2 = setInterval(function(){}, 时间); clearTimeout(num1); clearInterval(num2); 这段代码会先定义两个定时器对象num1和num2,然后通过调用clearTimeout和clearInterval函数来关闭对应的定时器。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [简述js定时器用法](https://blog.csdn.net/suorce/article/details/82841781)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Javascript中定时器的使用方法](https://blog.csdn.net/qq_57340195/article/details/124441862)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值