search

Home  >  Q&A  >  body text

javascript - js倒计时不准

(手机端h5)在软件上可以做任务,任务按钮上有倒计时时间,现在是我切换网页后再回来倒计时是不准确的,会慢。怎么办??

怪我咯怪我咯2896 days ago839

reply all(6)I'll reply

  • PHP中文网

    PHP中文网2017-04-10 15:34:18

    不要用 时间差 - 秒数 来计算剩余时间
    要用结束时间 - 系统当前时间 来计算
    当然 系统当前时间可能不准确 可以和服务器做个同步

    reply
    0
  • PHP中文网

    PHP中文网2017-04-10 15:34:18

    反正我让后台传时间做定时器,用new date()获取的是用户手机设置的时间把

    reply
    0
  • PHPz

    PHPz2017-04-10 15:34:18

    前端的计时逻辑永远不会准,即便你初始化时间采用服务器时间。

    因为网络传输误差你不知道,同时setTimeout和setInterval并不会非常精确,所以不要依赖前端计时器来处理重要逻辑,需要结合后台来保障。

    reply
    0
  • PHP中文网

    PHP中文网2017-04-10 15:34:18

    定时器本身就不准啊,timeout是在限定时间内,interval是在限定时间后。

    reply
    0
  • 大家讲道理

    大家讲道理2017-04-10 15:34:18

    1. 当你的网页没有处于被浏览时,这个网页的js不会运行或者暂时阻塞,这是浏览器为了节省资源的行为,各个浏览器做法都不大一样.
    2. 即使你的js正在运行,定时器也不会是准确的。setTimeout是基于事件循环的,它只表明任务执行之前的最短时间。
    3. 如果你需要获得准确的时间,建议还是使用Date.now();

    reply
    0
  • PHPz

    PHPz2017-04-10 15:34:18

    JS时间不准。这不是很正常嘛!好像opera挺准。用的人不多。

    reply
    0
  • Cancelreply