我有此Javascript倒計時器完美的作品。唯一的問題是我只能在一頁中使用它一次。我想多次使用它。的Javascript計時器使用多次在
我覺得劇本使用id ="timer"
這就是爲什麼我不能夠多次使用它。
下面是JS代碼:
<script>
var startTime = 60; //in Minutes
var doneClass = "done"; //optional styling applied to text when timer is done
var space = ' ';
function startTimer(duration, display) {
var timer = duration,
minutes, seconds;
var intervalLoop = setInterval(function() {
minutes = parseInt(timer/60, 10)
seconds = parseInt(timer % 60, 10);
minutes = minutes < 10 ? "0" + minutes : minutes;
seconds = seconds < 10 ? "0" + seconds : seconds;
display.textContent = "00" + space + minutes + space + seconds;
if (--timer < 0) {
document.querySelector("#timer").classList.add(doneClass);
clearInterval(intervalLoop);
}
}, 1000);
}
window.onload = function() {
var now = new Date();
var hrs = now.getHours();
var setMinutes = 60 * (startTime - now.getMinutes() - (now.getSeconds()/100)),
display = document.querySelector("#timer");
startTimer(setMinutes, display);
};
</script>
那麼,什麼是您的編碼問題?一個好的開始是將全局變量放入函數中。考慮使用構造函數來創建實例,或者使用閉包來保持變量對每個定時器的調用都是「私有的」。 – RobG
是的,包裝計時器相關的東西在功能 - 這就是解決方案。使它像一個原型,所以你可以讓 – DanilGholtsman
@RobG從他的代碼和他的問題來看,我不知道OP在這種編碼的水平,現在它的實例。 –