js实现定时器

js实现定时器

实现定时器

在这里插入图片描述
用原生js实现一个倒计时效果.最下面有全部源码,需要自取

js语法:
setTimeout:定时器
document.getElementById:Document的方法 getElementById()返回一个匹配特定 ID的元素。由于元素的 ID 在大部分情况下要求是独一无二的,这个方法自然而然地成为了一个高效查找特定元素的方法。
remove():可以根据Id来移除该元素.
insertAdjactHTM():js中增加HTML元素.

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<button id="btn" onclick="startTimer()">开始计时</button>
		<button id="closebtn" onclick="closebtn()">取消计时</button>
		<div id="one">

		</div>
		<script>
			let minutes = 59
			let seconds = 59
			let isShow = true
			function startTimer() {
				setTimeout(() => {
					if (isShow) {
						if (seconds > 0) {
							seconds -= 1;
						} else if (minutes > 0) {
							minutes -= 1;
							seconds = 59;
						} else {
							clearTimeout(timer); // 取消计时器
						}
						ShowTime();
						if (minutes === 0 && seconds === 0) {
							console.log("计时结束");
						} else {
							startTimer(); // 继续计时
						}
					}
				}, 1000);
			}

			function ShowTime() {
				const son=document.getElementById('a');
				const parent=document.getElementById('one')
				if (son) {
					son.remove()
				}
				if (minutes < 10 && seconds < 10) {
					parent.insertAdjacentHTML('afterend', "<div id='a'>0" + minutes + ":" + "0" +
						seconds + "</div>")
				} else if (minutes < 10 && seconds >= 10) {
					parent.insertAdjacentHTML('afterend', "<div id='a'>0" + minutes + ":" + seconds +
						"</div>")
				} else if (minutes >= 10 && seconds < 10) {
					parent.insertAdjacentHTML('afterend', "<div id='a'>" + minutes + ":" + "0" +
						seconds + "</div>")
				} else {
					parent.insertAdjacentHTML('afterend', "<div id='a'>" + minutes + ":" + seconds +
						"</div>")
				}

			}

			function closebtn() {
				isShow = false
			}
			ShowTime()
		</script>
	</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃巧克li

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值