2017-02-09 73 views
0

當涉及到此js代碼時,Firefox無法正常工作。但它在Chrome中正常工作。duedate計數器適用於Chrome,但不適用Firefox NaN錯誤

  • 這個和document.getElementById("days").innerText = d;有關嗎?

  • 我需要parseInt嗎? IDK如何做到這一點,如果我必須這樣做..哈哈

  • 主要問題是如何讓這個工作在Firefox?

<div id="dueDate-counter"> 
 
    \t <table> 
 
    \t \t <tr> 
 
    \t \t \t <td>days</td> 
 
    \t \t \t <td>hrs</td> 
 
    \t \t \t <td>mns</td> 
 
    \t \t \t <td>secs</td> 
 
    \t \t </tr> 
 
    \t \t <tr> 
 
    \t \t \t <td id="days"></td> 
 
    \t \t \t <td id="hours"></td> 
 
    \t \t \t <td id="minutes"></td> 
 
    \t \t \t <td id="seconds"></td> 
 
    \t \t </tr> 
 

 
    \t </table> 
 

 
    \t <script type="text/javascript"> 
 
    \t \t function countdown() { 
 
    \t \t \t var now = new Date(); 
 
    \t \t \t var eventDate = new Date("<%= reservation.due_date %>"); 
 
    \t \t \t <%= puts "here is reservation !!!!!!!" %>; 
 
    \t \t \t <%= puts "#{reservation.due_date}" %>; 
 
    \t \t \t var currentTime = now.getTime(); 
 
    \t \t \t var eventTime = eventDate.getTime(); 
 

 
    \t \t \t var remTime = eventTime - currentTime; 
 

 
    \t \t \t var s = Math.floor(remTime/1000); 
 
    \t \t \t var m = Math.floor(s/60); 
 
    \t \t \t var h = Math.floor(m/60); 
 
    \t \t \t var d = Math.floor(h/24); 
 

 
    \t \t \t h %= 24; 
 
    \t \t \t m %= 60; 
 
    \t \t \t s %= 60; 
 

 
    \t \t \t h = (h < 10) ? "0" + h : h; 
 
    \t \t \t m = (m < 10) ? "0" + m : m; 
 
    \t \t \t s = (s < 10) ? "0" + s : s; 
 

 
    \t \t \t document.getElementById("days").textContent = d; 
 
    \t \t \t document.getElementById("days").innerText = d; 
 

 
    \t \t \t document.getElementById("hours").textContent = h; 
 
    \t \t \t document.getElementById("minutes").textContent = m; 
 
    \t \t \t document.getElementById("seconds").textContent = s; 
 

 
    \t \t \t \t setTimeout(countdown, 1000); 
 
    \t \t \t \t \t } 
 

 
    \t \t \t \t countdown(); 
 

 
    \t </script> 
 

 
    </div>

enter image description here

enter image description here

回答

0

Chrome是比Date對象其他瀏覽器更加靈活。確保您的due_dateeventDateconsole.log的格式相同。 getTime()返回毫秒數,因此您的reservation.due_date也必須以毫秒爲單位。

+0

我怎麼能把這個日期時間轉換成毫秒? 。在js腳本中,我如何獲取reservation.due_date並以毫秒爲單位進行轉換?我以爲我已經用'.getTime()' –

+0

做過了''''''''''''''''''''''''''天)' – Shannon

相關問題