1. 3秒后引爆炸弹
<body>
<p id="Bomb">距离炸弹爆炸还有10秒!</p>
<button id="btn">拆取炸弹</button>
<script>
// 3秒后引爆炸弹
function timerBomb1() {
// 引爆炸弹的赋值式函数
var handler = function () {
Bomb.innerText = "BOOOM!!!!!";
}
// 3秒后执行handler函数
setTimeout(
handler,
3000
)
}
// 调用
// timerBomb1();
</script>
</body>
2. 一个可以拆除的定时炸弹
<body>
<p id="Bomb">距离炸弹爆炸还有10秒!</p>
<button id="btn">拆取炸弹</button>
<script>
// 一个可以拆除的定时炸弹
function timerBomb2() {
// 设置一个延时执行的计时器
// 返回值:该计时器的id(可以通过id解除计时器)
var timerId = setTimeout(
// 延时执行的任务
function task() {
Bomb.innerText = "BOOOM!!!!"
},
//5000毫秒后执行
5000
)
btn.onclick = function () {
//清除延时执行计时器
clearTimeout(timerId);
}
}
//调用
timerBomb2();
</script>
</body>
3. 带倒计时的定时器
<body>
<p id="Bomb">距离炸弹爆炸还有10秒!</p>
<button id="btn">拆取炸弹</button>
<script>
// 带倒计时的定时器
function timerBomb3() {
// 爆炸剩余秒数
var secondsLeft = 10;
// 设置一个周期性执行的定时器 interval 间隔
var timerId = setInterval(() => {
// 先减减 再输出
Bomb.innerText = `距离炸弹爆炸还有${--secondsLeft}秒!`;
// 时间结束时爆炸
if (secondsLeft === 0) {
// 引爆炸弹
Bomb.innerText = "BOOOM!!!!!";
// 移除定时器
clearInterval(timerId);
}
},
// 每秒执行一次
1000
);
btn.onclick = function(){
// 清除定时器
clearInterval(timerId);
Bomb.innerText = "炸弹已移除"
}
}
//调用
timerBomb3();
</script>
</body>