javascript - 有没有好的办法可以防止刷新页面后js倒计时不变
大家讲道理
大家讲道理 2017-04-11 12:00:00
[JavaScript讨论组]

当前是可以实现js的倒计时,但是,页面一刷新,倒计时要么直接停止,要么直接重新开始。
那么问题来了?
怎样才能控制住js,即使刷新页面,那个倒计时还是持续的。
麻烦各位路过的小伙伴,帮个忙。谢谢!

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(12)
PHP中文网

要实现一个倒计时功能,首先你必须得有一个固定的结束时间,正常逻辑实现:

把结束时间传入到一个倒计时方法里面,使用结束时间减去当前时间,得到剩余时间,一秒钟执行一次。而当前时间会增加,那么剩余时间就会相应减少。

那么固定结束时间从哪里来的。1、代码里面写死的时间 2、后端返回的时间 3、本地存储的。只要拿到了固定的结束时间,倒计时就不会从头开始。中断也只是在倒计时结束或者代码报错的情况下出现。我写过一个多个倒计时同时存在的页面链接描述

大家讲道理

开始倒计时的时候获取本地时间,存入cookie或localstorage,刷新后读取开始的时间和现在的时间想减

怪我咯

了解一下Service Worker

巴扎黑

每次刷新都是一个新的函数运行环境,无法得知刷新之前的状态。你的定时器的开始时间只能从后台获取或根据当前时间计算。

怪我咯

用cookie或localstorage,
具体见我写过的一篇回答
http://stackoverflow.com/a/38...

天蓬老师
1 php: 定义停止$end_time 
2 html : <input type="hidden" name="end_time" id="end_time" value="$end_time">
3 js:$("#end_time").val()

应该看得懂意思把

天蓬老师

倒计时开始时,保存结束时间到localstorage,刷新页面读取localstorage的值再计算出倒计时间

高洛峰

最近老有人问倒计时的问题,之前写过一个简单的了,楼主可以看看

求到每周二的一个倒计时代码

巴扎黑

你倒计时的开始时间不要用js获取客户端的时间,用php获取服务端的时间给js用试试看

伊谢尔伦

写一个本地存储倒计时就ok啦

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号