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