如何在jQuery倒计时脚本中为now字段动态获取当前时间?
解决final_countdown插件now字段动态获取当前时间的问题
问题核心在于该插件的now参数要求传入秒级时间戳,而你之前用的$.now()返回的是毫秒级时间戳,直接赋值会导致时间计算错误,所以才会一直停留在固定时间点。
正确实现方式
把固定的now: 1686226400替换为动态生成秒级时间戳的代码,有两种可靠写法:
- 依赖jQuery:
Math.floor($.now() / 1000) - 原生JS(无需jQuery):
Math.floor(Date.now() / 1000)
两种方式都是先获取当前时间的毫秒戳,除以1000后取整,得到插件需要的秒级时间戳。
修改后的完整代码
$('.countdown').final_countdown({ start: 1686226400, end: 1696226400, now: Math.floor($.now() / 1000), // 动态获取当前秒级时间戳 seconds: { borderColor: '#5677fc', borderWidth: '3' }, minutes: { borderColor: '#7e57c2', borderWidth: '3' }, hours: { borderColor: '#4db6ac', borderWidth: '3' }, days: { borderColor: '#d81b60', borderWidth: '3' } }, function() {});
注意事项
- 必须用
Math.floor()取整,避免小数时间戳引发插件内部计算异常。 - 如果你的
start时间戳早于当前时间,插件会自动计算剩余倒计时;若start时间未到,会先显示等待启动的倒计时。
内容的提问来源于stack exchange,提问作者Alex Jackson
相关产品推荐
相关产品推荐

