2016-02-26 78 views
0

我正在嘗試編寫一個代碼,這個代碼包含了自2016年初以來在X國出生的人數。我沒有太多編碼經驗,這就是我已經出來了。在Unix時間裏,'d'現在和'b'是直到2016年1月1日的毫秒數。我的主要問題是,當頁面加載時,計數器不會立即顯示,而是需要12秒才能顯示計數。每X秒增加1

有沒有更簡單的方法來做到這一點,並立即加載數字? 謝謝!

<span id="number"></span> 
<script type="text/javascript"> 
    var d = new Date(); 
     document.getElementById('number').innerHTML = d.getTime(); 
    var b = 1451606400000; 
    var i = ((d - b)/12024); 
    var x = Math.round(i); 
    function increment() { 
     x++; 
     document.getElementById('number').innerHTML = x; 
    } 
    setInterval('increment()', 12024); 
</script> 

回答

0

x而不是d在初始化:

var d = new Date(); 
 
var b = 1451606400000; 
 
var i = ((d - b)/12024); 
 
var x = Math.round(i); 
 
document.getElementById('number').innerHTML = x; // Here 
 
function increment() { 
 
    x++; 
 
    document.getElementById('number').innerHTML = x; 
 
} 
 
setInterval(increment, 12024);
<span id="number"></span>

+0

解決了!驚人!非常感謝!!這是非常有用的,非常快。 –

+0

@DanielS沒問題! – Ties

0

的問題是,increment沒有被setInterval調用,直到達到最初12秒的延遲,你的innerHTML沒有設置直到increment被調用。

一個解決辦法是分配給x一次innerHTMLx適當的值...

<script type="text/javascript"> 
    var d = new Date(); 
    var b = 1451606400000; 
    var i = ((d - b)/12024); 
    var x = Math.round(i); 
    document.getElementById('number').innerHTML = x; 
    function increment() { 
     x++; 
     document.getElementById('number').innerHTML = x; 
    } 
    setInterval(increment, 12024); 
</script> 
+0

解決!驚人!非常感謝!!這是非常有用的,非常快。 –

+0

很高興我能幫到@DanielS :) – sfletche