我试图编写一个代码,类似于自2016年初以来有多少人出生在乡村X.我没有多少编码经验,这就是我&#39我们出来了。哪里' 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>
答案 0 :(得分:0)
问题是,在{12}达到最初的12秒延迟之前increment
未调用setInterval
,并且在调用innerHTML
之前未设置increment
。
一种解决方案是在x
具有适当的值后将innerHTML
分配给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>
答案 1 :(得分: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>