簡體   English   中英

倒數計時器顯示 NaN

[英]Count Down Timer shows NaN

我在使用 JavaScript 制作的倒數計時器時遇到問題。 它在過去的兩周內一直在工作,但今天它開始顯示 NaN:NaN... ,我不明白為什么。 這是代碼,有沒有人知道哪一個可能是問題所在?

 <div id="countdownmain"> <span id="countdownmain" class="timer"></span> </div> <script> var date = new Date; var secondsnow = date.getSeconds(); var minutesnow = date.getMinutes(); var hournow = date.getHours(); var day = date.getDay(); var passatti = (secondsnow + (minutesnow*60) + (hournow*3600)); if((day==1)||(day==2)||(day==3)||(day==4)){ if(passatti < 46800){ var upgradeTime = 46800 - passatti; }else if(passatti > 46800){ var upgradeTime = 86400 - passatti + 46800; } }else if((day==5)&&(passatti < 46800)){ var upgradeTime = 46800 - passatti; }else if((day==5)&&(passatti > 46800)){ var upgradeTime = 86400 - passatti + 46800 + 86400 + 86400; }else if((day==6)){ var upgradeTime = 86400 - passatti + 46800 + 86400; }else if((day==7)){ var upgradeTime = 86400 - passatti + 46800; } var seconds = upgradeTime; function timer() { var now = Math.floor(Date.now() / 1000); ('0' + 11).slice(-2) var days = Math.floor(seconds/24/60/60); var hoursLeft = Math.floor((seconds) - (days*86400)); var hours = Math.floor(hoursLeft/3600); var minutesLeft = Math.floor((hoursLeft) - (hours*3600)); var minutes = Math.floor(minutesLeft/60); var remainingSeconds = seconds % 60; if (remainingSeconds < 10) { remainingSeconds = "0" + remainingSeconds; } document.getElementById('countdownmain').innerHTML = "<span class='timesm'> For same working day dispatch, order in &nbsp; </span><br class='appear'><span style='display:inline-block; width:45px;'><span class='hideDays glowW'>" + ('0' + days).slice(-2) + "</span></span><span class='times'> days </span><span style='display:inline-block; width:45px;'><span class='hideHours glowW'>" + ('0' + hours).slice(-2) + "</span></span><span class='times'> hours </span><span style='display:inline-block; width:45px;'><span class='hideMinutes glowW'>" + ('0' + minutes).slice(-2) + "</span></span><span class='times'> minutes </span><span style='display:inline-block; width:45px;'><span class='hideSec glowW'>" + ('0' + remainingSeconds).slice(-2) + "</span></span><span class='times'> seconds </span>"; if (seconds == 0) { clearInterval(countdownTimer); //document.getElementById('countdownmain').innerHTML = "Completed"; seconds = upgradeTime; } else { seconds--; $('.hideSec').fadeOut('slow'); } if(('0' + remainingSeconds).slice(-2)==00){ $('.hideMinutes').fadeOut('slow'); } if((('0' + minutes).slice(-2)==00)&&(('0' + remainingSeconds).slice(-2)==00)){ $('.hideHours').fadeOut('slow'); } if((('0' + hours).slice(-2)==00)&&(('0' + minutes).slice(-2)==00)&&(('0' + remainingSeconds).slice(-2)==00)){ $('.hideDays').fadeOut('slow'); } } var countdownTimer = setInterval('timer()', 1000); </script>

不幸的是,今天是星期天! Javascript 在getDay() 中作為一周的第一天返回 0 值

看看我的小提琴 我只是減少了if語句中的日期比較器值。 (例如 1 -> 0、2 -> 1、3 -> 2 等等。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM