js中倒數計時器怎麼實現

下次还敢
發布: 2024-05-01 04:18:19
原創
947 人瀏覽過

JavaScript 中有兩種方法實作倒數計時器:setInterval():建立計時器,每隔一指定毫秒重複呼叫函數。 setTimeout():只呼叫一次函數,延遲指定時間。

js中倒數計時器怎麼實現

JS中倒數計時器的實作

在JavaScript中,有幾種方法可以實作倒數計時器。以下兩種方法是常用的:

1. setInterval() 方法

#setInterval()方法建立一個定時器,它以指定的毫秒數重複呼叫一個函數。若要使用setInterval()方法實作倒數計時器,請依照下列步驟操作:

  • 定義一個函數來更新倒數計時。此函數應將目前時間與目標時間進行比較,並顯示剩餘時間。
  • 計算剩餘時間的毫秒數。
  • 使用setInterval()方法每隔一定的毫秒數呼叫更新函數。
  • 當倒數結束時,清除 setInterval 計時器。

2. setTimeout() 方法

#setTimeout()方法只呼叫一次函數,延遲指定的時間。若要使用setTimeout()方法實作倒數計時器,請依照下列步驟操作:

  • 定義一個遞迴函數來更新倒數計時。此函數應將目前時間與目標時間進行比較,並顯示剩餘時間。
  • 在函數中,計算剩餘時間的毫秒數。
  • 使用setTimeout()方法在剩餘時間後呼叫函數。

範例程式碼 (setInterval() 方法)

function updateCountdown() { const targetTime = new Date('2023-12-31'); const currentTime = new Date(); const msToTarget = targetTime - currentTime; const msToHours = Math.floor(msToTarget / (1000 * 60 * 60)); const msToMinutes = Math.floor(msToTarget / (1000 * 60)) % 60; const msToSeconds = Math.floor(msToTarget / 1000) % 60; const countdownDisplay = document.getElementById('countdown'); countdownDisplay.innerHTML = `${msToHours}:${msToMinutes}:${msToSeconds}`; if (msToTarget <= 0) { clearInterval(timeoutID); } } const timeoutID = setInterval(updateCountdown, 1000);
登入後複製

範例程式碼 (setTimeout() 方法)

function countdown(ms) { const targetTime = Date.now() + ms; const countdownDisplay = document.getElementById('countdown'); const update = () => { const msRemaining = targetTime - Date.now(); if (msRemaining <= 0) { return; } const msToHours = Math.floor(msRemaining / (1000 * 60 * 60)); const msToMinutes = Math.floor(msRemaining / (1000 * 60)) % 60; const msToSeconds = Math.floor(msRemaining / 1000) % 60; countdownDisplay.innerHTML = `${msToHours}:${msToMinutes}:${msToSeconds}`; setTimeout(update, 1000); } update(); } countdown(3600000); // 1 小时
登入後複製

以上是js中倒數計時器怎麼實現的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!