网站首页 > 技术文章 正文
案例:倒计时
案例分析:
1.这个倒计时是不断变化的,因此需要定时器来自动变化(setInterval)
2.三个黑色盒子里面分别存放时分秒
3.三个黑色盒子利用innerHTML放入计算的小时分钟秒数
4.第一次执行也是间隔毫秒数,因此刚刷新页面会有空白
5.最好采取封装函数的方式,这样可以先调用一次这个函数,防止刚开始刷新页面有空白问题。
倒计时的算法:
1.核心算法:输入的时间减去现在的时间就是剩余的时间,即倒计时,但是不能拿着时分秒相减,比如05分减去25分,
结果会是负数的
2.用时间戳来做,用户输入时间总的毫秒数减去现在时间的总的毫秒数,得到的就是剩余时间的毫秒数.
3.把剩余时间总的毫秒数转换为天、时、分、秒、(时间戳转换为时分秒)*/
//转换公式如下:
/*d = parseInt(总秒数/60/60/24); //计算天数
h = parseInt(总秒数/60/60%24); //计算小时
m = parseInt(总秒数/60%24); //计算分钟
s = parseInt(总秒数%60); //计算当前秒数*/
function conus(time){
var dqtime = +new Date(time);
var zqtime = +new Date();
var times = (dqtime - zqtime) / 1000;
var t = parseInt(times / 60 / 60 / 24);//天
t = t < 10 ? '0' + t:t;
var s = parseInt(times / 60 / 60 % 24);//时
s = s < 10 ? '0' + s:s;
var f = parseInt(times / 60 % 60);//分
f = f < 10 ? '0' + f:f;
var m = parseInt(times % 60);//秒
m = m < 10 ? '0' + m:m;
return t + '天' + s + '时' + f + '分' + m + '秒';
}
console.log(conus('2022-6-7 12:00:00'));
源码如下
猜你喜欢
- 2025-06-24 服务端性能测试实战3-性能测试脚本开发
- 2025-06-24 跨标签页通信(六):Cookie(cookie跨页面)
- 2025-06-24 崩溃!代码总掉链子?6 个 JavaScript 技巧助你稳操胜券
- 2025-06-24 如何取消一个已经开始的 JavaScript Promise
- 2025-06-24 Web页面如此耗电!到了某种程度,会是大损失
- 2025-06-24 setTimeout 出大 bug?为什么需要 setBigTimeout?
- 2025-06-24 悠然!午休十分钟分清 Vue 的 watch 和 computed,面试不发怵
- 2025-06-24 科普:CPU空闲时在忙什么?(cpu空闲温度)
- 2025-06-24 html5大神结合js带你研究古老读心术,你的心思早被猜透
- 2025-06-24 JWT + Refresh + SSO模版(jwt demo)
你 发表评论:
欢迎- 最近发表
-
- Three.js vs Unity:工业可视化为何选择Web方案?
- 一款全新Redis UI可视化管理工具,支持WebUI和桌面——P3X Redis UI
- 时间线可视化实战:三款AI工具实测,手把手教你制作人生轨迹图
- 【推荐】一款可视化在线 Web 定时任务管理平台,支持秒级任务设置
- 重磅更新!FastDatasets 推出可视化 Web 界面
- 模具设计之UG钣金实例教程(3)_ug钣金基础教程
- 前端基于 RBAC 模型的权限管理实现
- 别再把JWT存在localStorage里了!2025年前端鉴权新思路
- 模具设计之曲面造型中不圆润的曲面如何处理技巧
- 9个专业级别的CSS技巧区分了解和精通的鸿沟
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- oracle面试 (55)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)