利用Jquery以及window对象的setInterval方法实现网页倒计时功能
<!DOCTYPE html>
<html lang="ch">
<head>
<meta charset="UTF-8">
<title>倒计时</title>
<script src="js/jquery-3.6.1.js"></script>
<script>
var obj=setInterval("");
var isclick=true;
function countdowns() {
obj=setInterval(function () {
var t = $("#s").text();
if (parseInt(t) <= 0) {
countdownm();
} else {
t--;
if(t<10){
$("#s").text("0"+t).fadeOut(500);
$("#s").fadeIn(500);
}else{
$("#s").text(t).fadeOut(500);
$("#s").fadeIn(500);
}
}
}, 1000)
}
function countdownm() {
var t1 = $("#m").text();
if (parseInt(t1) > 0) {
t1--;
if(t1<10){
$("#m").text("0"+t1).fadeOut(500);
$("#m").fadeIn(500);
}else {
$("#m").text(t1).fadeOut(500);
$("#m").fadeIn(500);
}
$("#s").text(59).fadeOut(500);
$("#s").fadeIn(500);
} else {
countdownh();
}
}
function countdownh() {
var t2 = $("#h").text();
if (parseInt(t2) > 0) {
t2--;
$("#h").text("0"+t2).fadeOut(500);
$("#h").fadeIn(500);
$("#m").text(59).fadeOut(500);
$("#m").fadeIn(500);
$("#s").text(59).fadeOut(500);
$("#s").fadeIn(500);
} else {
alert("倒计时已结束");
clearInterval(obj);
}
}
$(function () {
$("#start").click(function (){
if(isclick){
isclick=false;
countdowns();
}
})
$("#stop").click(function (){
isclick=true;
clearInterval(obj);
})
$("#reset").click(function (){
isclick=true;
$("#h").text("01");
$("#m").text("00");
$("#s").text("00");
clearInterval(obj);
})
})
</script>
</head>
<body>
<h1 align="center" id="head"><span id="h">01</span> : <span id="m">00</span> : <span id="s">00</span></h1>
<p align="center"><input type="button" value="开始计时" id="start">
<input type="button" value="暂停计时" id="stop">
<input type="button" value="重置" id="reset">
</p>
</body>
</html>
- 修复多次点击计时加速bug;
- 计时数字跳变添加淡入淡出功能;
- 默认计时 1 hours。