当前位置: 首页 > 知识库问答 >
问题:

在倒计时脚本中跳过了很多秒

邓德厚
2023-03-14

我做了一个倒计时器。它使用date函数获取当前时间。然后,它将该时间存储在另一个变量中。这个新变量会更改为小时/分钟/秒,因此格式应该与日期函数相同。

然后我把这两个变量转换成时间,因为计数,以毫秒为单位。然后,我将当前日期从新的日期中分离出来,以毫秒为单位获得两个变量的时间差。这应该是当前时间到目标时间的差异。

在这之后,我将把差异变成一个可读的小时/分钟/秒时间格式,它将显示在div中。还添加了一段代码,允许闪烁倒计时计时器,如果计时器已经用完,这将给5分钟额外的时间。(

最大的问题是:定时器工作。做我想做的一切。但是它很落后!即使我将setTimeout设置为10毫秒,它也会跳过显示秒数。我还使用了使用相同计时器设置的时钟(不同的变量),该时钟不会跳过任何时间,setTimeout为1000毫秒。。。

试图减少一些计算,甚至阅读了很多关于javascript中setTimeout和setInterval漂移的内容,但这并不能解释我目前的问题。(使用setTimeout进行聊天,每500毫秒重新加载一次消息,这样我的计算机/客户端/服务器就可以处理小于1000毫秒的时间)

跳过秒发生在IE和firefox上。在我的浏览器中,其他的倒计时器(不做我想让它们做的事情)也可以正常运行。这里有什么问题?!?

https://jsfiddle.net/77cnvq82/function startMyFunction(){setTimeout(myFunction,100);}

在本例中,速度已设置为100ms


共有1个答案

东方嘉佑
2023-03-14

实际问题在于舍入和数学,而不是显示代码本身。

如果您将显示行更改为:

timerShowRemaining = timerShowRemaining+timerHours+":"+timerMinutes+":"+timerSeconds
 + (new Date());

它将显示当前时间,您将看到秒数均匀地递增,即使您计算的数字会急促和滞后。

 类似资料:
  • 本文向大家介绍过年的倒计时相关面试题,主要包含被问及过年的倒计时时的应答技巧和注意事项,需要的朋友参考一下

  • 我正在尝试在两个日期之间创建倒计时,但时间过了一段时间就落后了。 我的PHP后端返回当前时间和未来X时间之间的差值,例如当前时间和提前2小时。这个差异在类,格式如下,我使用javascript函数对差异进行倒计时。以下是我的功能: 代码按预期工作,但几分钟后,比方说2-3分钟,如果您刷新页面或在新窗口中打开它,您将看到倒计时计时器落后秒/分钟。有人知道我做错了什么吗?

  • 在此RDD上应用筛选器,并将相关行的范围移出:filter 在此RDD上应用筛选器,并将相关行的范围移出:filter 加入RDD:join 应用map阶段计算投资:map 应用GroupBy阶段根据所需视图对数据进行分组:GroupBy 应用map阶段来按照上述步骤中实现的分组聚合数据(例如跨时间段查看数据),并根据需要收集的resultset创建新对象:map 收集结果:收集 因此,如果用户想

  • 首先,我使用Jalali/波斯日期和倒计时jQuery插件对我不起作用。对于ex,插件必须输入公历日期,如2017/5/2,但波斯/贾拉利日期是1396/2/17。 我有多个datetime,指定了天、小时、分钟和秒。例: 3天13小时4分25秒 23天2小时41分3秒... 我有几天、几小时、几分钟和几秒时间, 我想在一页上为他们的日期倒计时(他们的日期是白天的) 当页面中只有一个日期时,我使用

  • 问题内容: 我正在创建一个需要ListView的应用程序,其中的元素数量不确定,每个元素都有一个从可变数量开始倒数的计时器。我能够成功地使 其中 之一倒计时,但是我不知道如何在ListView的每个元素中包括一个计时器。 我目前正在使用CountDownTimer(如果从网站复制,请确保将D大写,因为它们有误)。 任何向我指出正确方向的代码或资源都将受到赞赏。 这是我当前的EventAdapter

  • 我有一个gradle groovy项目,其中我只有groovy脚本,它们不在源目录中,而是在一个单独的目录中。此外,我还有groovy junit测试,这些测试使用groovy shell测试调用它们的脚本。 我有一个gradle构建来运行测试,然后将脚本压缩到单独的zip文件中,并将它们上传到maven repo中。问题是,gradle还创建并上传了一个jar文件。由于源目录中没有文件,jar只