溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JavaScript如何仿京東實現(xiàn)秒殺倒計時

發(fā)布時間:2022-03-08 13:46:00 來源:億速云 閱讀:291 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要為大家展示了“JavaScript如何仿京東實現(xiàn)秒殺倒計時”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“JavaScript如何仿京東實現(xiàn)秒殺倒計時”這篇文章吧。

功能介紹:

1、這個倒計時是不斷變化的,因此需要定時器來自動變化(setInterval)

2、三個黑色的盒子,分別存放時、分秒

3、三個盒子利用innerHTML存入倒計時

JavaScript如何仿京東實現(xiàn)秒殺倒計時

<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div {
            background-color: black;
            width: 50px;
            height: 50px;
            margin-left: 20px;
            float: left;
            color: white;
            font-size: 20px;
            text-align: center;
            line-height: 50px;
        }
    </style>
</head>
 
<body>
    <div class='h2'></div>
    <div class='m'></div>
    <div class='s1'></div>
    <script>
        //把時間放到div中去
        var div = document.querySelectorAll('div')
        var timer1 = setInterval(function() {
            var date1 = new Date(2022, 3, 2, 18, 40, 0); //獲得到點截至?xí)r間距離標(biāo)準(zhǔn)時間的毫秒數(shù)
            var date2 = new Date(); //獲得目前時間距離準(zhǔn)時間的毫秒數(shù)
            var date = (date1 - date2) / 1000; //用到點時間的毫秒數(shù)減去現(xiàn)在時間的毫秒數(shù),必須先化為秒單位,之后再進(jìn)行轉(zhuǎn)換
            var h = parseInt((date / 60 / 60) % 24); //小時
            var m = parseInt((date / 60) % 60); //分鐘
            var s = parseInt(date % 60); //秒    一定要包含在這個函數(shù)中,因為是間隔1秒就要重新算一遍,需要提高準(zhǔn)確率的話,把秒數(shù)減少(刷新間隔)
            div[2].innerHTML = s
            div[1].innerHTML = m
            div[0].innerHTML = h
        }, [1])
    </script>
</body>
 
</html>

改進(jìn):

    <script>
        //把時間放到div中去
        var div = document.querySelectorAll('div')
        var timer1 = setInterval(fn, [1000])
        var date1 = new Date(2022, 3, 2, 18, 40, 0);
        var date2 = new Date();
        var date = (date1 - date2) / 1000;
        var h = parseInt((date / 60 / 60) % 24);
        var m = parseInt((date / 60) % 60);
        var s = parseInt(date % 60);
        div[2].innerHTML = s
        div[1].innerHTML = m
        div[0].innerHTML = h
            //解決剛刷新,數(shù)字不顯示的問題
        function fn() {
            var date1 = new Date(2022, 3, 2, 18, 40, 0); //獲得到點截至?xí)r間距離標(biāo)準(zhǔn)時間的毫秒數(shù)
            var date2 = new Date(); //獲得目前時間距離準(zhǔn)時間的毫秒數(shù)
            var date = (date1 - date2) / 1000; //用到點時間的毫秒數(shù)減去現(xiàn)在時間的毫秒數(shù),必須先化為秒單位,之后再進(jìn)行轉(zhuǎn)換
            var h = parseInt((date / 60 / 60) % 24); //小時
            var m = parseInt((date / 60) % 60); //分鐘
            var s = parseInt(date % 60); //秒    一定要包含在這個函數(shù)中(最好是封裝一個函數(shù)),因為是間隔1秒就要重新算一遍,需要提高準(zhǔn)確率的話,把秒數(shù)減少(刷新間隔).如果間隔比較大的話,一刷新頁面,會產(chǎn)生空白。解決方法就是,在未調(diào)用這個函數(shù)前,先把時間放入到div盒子中   
            div[2].innerHTML = s
            div[1].innerHTML = m
            div[0].innerHTML = h
        }
    </script>

添加停止倒計時按鈕:

    <button>停止倒計時</button>
 
        var btn = document.querySelector('button')
        btn.addEventListener('click', function() {
            clearInterval(timer1)
        })

以上是“JavaScript如何仿京東實現(xiàn)秒殺倒計時”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI