簡體   English   中英

每X秒增加1

[英]Increase by 1 every X seconds

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

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

<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>

問題在於,直到達到初始的12秒延遲, setInterval才調用increment ,並且直到調用increment之前, innerHTML才被設置。

一個解決辦法是分配xinnerHTML一次x有一個合適的值...

<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>

在初始化時設置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> 

暫無
暫無

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

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