当我在jsfiddle上运行它时,它按预期工作,每隔1秒随机增加或减少div中的数字5,但是当我在html文件上以内联JS的形式运行它时,它等待1秒,然后每半秒或更短的时间按5变化。
http://jsfiddle.net/cT7a9/219/
我就是看不出我做错了什么,非常烦人
setInterval(function() {
random=(Math.floor((Math.random()*5)+1));
var plusOrMinus=Math.random() < 0.5 ? -1: 1;
random=random * plusOrMinus;
currentnumber=document.getElementById('number');
document.getElementById('number').innerHTML=parseInt(currentnumber.innerHTML) + random;
}
, 1000);
<span id="number">123</span>
发布于 2018-08-19 07:55:27
您在参数中提供了1000毫秒。它不应该等待5秒。无论如何,我认为您可以尝试将<script> ... </script>
放在<body>
标记的末尾。或者,您可以将您的函数放在jquery的"on ready“函数中,如下所示:
<script>
$(document).ready(function(){
//Your Interval Code Here
});
</script>
仅供参考:不要忘记包含jquery,因为jquery库中有"ready“函数。
发布于 2018-08-19 09:24:03
您应该将JS代码放入函数中,并将其添加到onload
主体中,如下所示:
<html>
<head></head>
<body onload="myFunc();">
<script>
function myFunc(){
setInterval(function(){
random = (Math.floor((Math.random()*5)+1));
var plusOrMinus = Math.random() < 0.5 ? -1 : 1;
random = random * plusOrMinus;
currentnumber = document.getElementById('number');
document.getElementById('number').innerHTML = parseInt(currentnumber.innerHTML) + random;
}, 1000);
}
</script>
<div id="number">123</div>
</body>
我试过了,它工作正常
https://stackoverflow.com/questions/51913320
复制相似问题