为了账号安全,请及时绑定邮箱和手机立即绑定

计时器的速度问题

我发现实际运行过程中,计时器的速度并不一致。我知道因为JS单线程的原因,延时函数有时需要在任务队列中排队,导致实际延时大于设置延时。

可我运行倒数的速度有明显小于1秒的情况,希望大佬能告知原因。最好还能顺便说一下如何稳定控制延时时间一致。

下面是代码:

<body>

    <h3>操作成功</h3>

  <span id="second">5</span><span>秒后回到主页</span>  <a href="javascript:goback();" >返回</a>

  <script type="text/javascript">  

              var i=5;

              function cgtime(){

                  document.getElementById("second").innerHTML=i

                  i--;

                  if(i==0){

                      window.location.assign('https://www.imooc.com');

                  }

              }

             var k=setInterval("cgtime()",1000);

             function goback(){

                 window.history.back();

             }

</script>

</body>


正在回答

2 回答

一开始还是正常的,重启过浏览器之后就倒数就飞起来了

0 回复 有任何疑惑可以回复我~
#1

impqpqp

可以试试IE,我现在用ie正常,可能是360带什么预加载之类的东西加速吧
2018-08-27 回复 有任何疑惑可以回复我~

我也是这样的问题,时间减少的速度很快,肉眼感觉到比实际的1秒短,不理解这样的情况怎么解释。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468061    人
  • 解答问题       21891    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

计时器的速度问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信