首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >javascript出现奇怪的脚本错误

javascript出现奇怪的脚本错误
EN

Stack Overflow用户
提问于 2018-08-19 07:38:57
回答 2查看 197关注 0票数 1

当我在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>

EN

回答 2

Stack Overflow用户

发布于 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“函数。

票数 0
EN

Stack Overflow用户

发布于 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>

我试过了,它工作正常

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51913320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档