js 关于 h5 移动端 倒计时 计时器 在关屏后不准确 有误差的问题

问题描述:
  在写一个考试系统,其中用到了倒计时的功能,发现在锁屏后,倒计时不准确的问题

解决方法:

  1. 因为是考试系统,所以考试时间是一定的,我们的考试时间是10分钟
// An highlighted block
let duration = parseInt(times); //倒计时总秒数量
  1. 在进入考试页面时首先获取当前时间,也就是考试开始时间
// An highlighted block
let cur_time = parseInt(new Date().getTime()/1000);
  1. 通过考试开始时间计算出考试结束时间
// An highlighted block
let end_time = cur_time + duration;
  1. 每次倒计时的时间为 考试结束时间-当前时间
// cur_time  residue  在 setInterval 外已声明  此处是 赋值操作
 cur_time = parseInt(new Date().getTime()/1000);
 residue = end_time - cur_time;

这样就不会因为关屏后倒计时变慢而影响倒计时的准确性了

还有一个方法就是获取服务器的时间,可以几秒从服务器获取次时间,但是感觉频繁的调用接口获取时间并不是一个很好的方法

你可能感兴趣的:(js,setInterval,javascript)