色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

javascript30s倒計時

衛若男1年前6瀏覽0評論

現在很多網站都有倒計時的功能,比如購物網站的秒殺活動、搶購等。這些倒計時效果都是使用JavaScript實現的,而javascript30s是一個提供練習javascript的網站,其中就有一道題目是實現一個倒計時功能。

這個倒計時需要能夠設置截止時間,并且能實時更新倒計時的時間。我們可以通過JavaScript的Date對象來獲取當前時間,并計算剩余時間。下面是這個倒計時的完整代碼:

function timer(seconds) {
const now = Date.now();
const then = now + seconds * 1000;
displayTimeLeft(seconds);
countDown = setInterval(() => {
const secondsLeft = Math.round((then - Date.now()) / 1000);
if(secondsLeft < 0) {
clearInterval(countDown);
return;
}
displayTimeLeft(secondsLeft);
}, 1000);
}
function displayTimeLeft(seconds) {
const minutes = Math.floor(seconds / 60);
const remainderSeconds = seconds % 60;
const display = <code>${minutes}:${remainderSeconds < 10 ? '0' : ''}${remainderSeconds}</code>;
document.title = display;
console.log(display);
}

這個代碼有兩個函數,一個是timer函數,一個是displayTimeLeft函數。timer函數接收一個參數seconds,表示倒計時的總時間(單位為秒)。它使用Date對象獲取當前時間now,然后加上總時間換算成毫秒的時間戳,得到截止時間then。接著調用displayTimeLeft函數,把總時間傳給它。

displayTimeLeft函數計算出剩余的分鐘數和秒數,并把它們拼接成字符串,然后分別把它們放到title標題中和控制臺輸出。如果剩余秒數小于10,則在前面加一個0,使得輸出的時間格式更加美觀。

timer函數還使用setInterval方法每隔一秒執行一次一個匿名函數。在這個匿名函數中,使用Date對象獲取當前時間和截止時間,計算出剩余的秒數。如果剩余秒數小于0,說明時間已經到了,清除計時器。否則,調用displayTimeLeft函數,把剩余秒數傳給它。

上面的代碼已經實現了一個簡單的倒計時效果。如果你想讓它更加高級,可以添加用戶界面,讓用戶可以選擇倒計時的總時間。這可以使用HTML的input標簽來實現。比如,可以添加一個下面這樣的界面:

<label>Timer Length</label>
<input type="number" name="minutes" />
<button>Start Timer</button>

這個HTML代碼包含了一個文本標簽和一個輸入框,讓用戶輸入倒計時的總時間(單位為分鐘),以及一個“Start Timer”按鈕,讓用戶開始倒計時。接下來修改timer函數,把總時間改為從輸入框中獲取,如下:

function timer(minutes) {
const now = Date.now();
const then = now + minutes * 60 * 1000;
displayTimeLeft(minutes * 60);
countDown = setInterval(() => {
const secondsLeft = Math.round((then - Date.now()) / 1000);
if(secondsLeft < 0) {
clearInterval(countDown);
return;
}
displayTimeLeft(secondsLeft);
}, 1000);
}

這個代碼和之前的代碼相比,只是把輸入的分鐘數轉換成了毫秒數。接下來給“Start Timer”按鈕綁定一個click事件,如下:

const form = document.querySelector('#customTimer');
form.addEventListener('submit', function(e) {
e.preventDefault();
const minutes = this.minutes.value;
timer(minutes);
});

這個代碼首先找到id為“customTimer”的表單,然后給它綁定一個submit事件。這個事件會在用戶按下Enter鍵或點擊“Start Timer”按鈕時觸發。在事件處理函數中,獲取表單中輸入的分鐘數,并把它傳給timer函數。

這樣,這個倒計時就可以根據用戶的輸入開始工作了。當然,這只是一個例子,你可以根據自己的需求來修改它,比如添加聲音效果、添加倒計時結束后的提示信息等。