利用Jquery以及window对象setInterval方法实现网页倒计时功能

<!DOCTYPE html>
<html lang="ch"&gt;
<head&gt;
    <meta charset="UTF-8"&gt;
    <title&gt;倒计时</title&gt;
    <script src="js/jquery-3.6.1.js"&gt;</script&gt;
    <script&gt;
        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) &gt; 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>&amp;nbsp;:&amp;nbsp;<span id="m">00</span>&amp;nbsp;:&amp;nbsp;<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>
  1. 修复多次点击计时加速bug;
  2. 计时数字跳变添加淡入淡出功能
  3. 默认计时 1 hours

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注