如何在前端编写一个精确到毫秒的倒计时
思路
我之前在掘金上看到,有小天才的想法直接在倒计时的后面加一个gif。反正都看不清楚,所以只需要有个gif在固定的位置不停的播放就可以达到毫秒倒计时的效果。
真是小天才,我也是第一次看到竟然有这种解决途径,原本我们的前端找设计师要了一个gif,奈何倒计时的gif图片效果确实很差,模糊加上字体大小不等,一眼看过去就很拙劣。
解决方式其实非常简单,已在线上项目中时候,且效果非常好,并且并不会过多的消耗性能。秘密就在于欺骗眼睛。在真实的倒计时环境中,我们的眼睛并不能看到每一帧的图片,也就是1000毫秒 1000张图片。眼睛实际上只能看到30~60帧(当然个体情况不同,肯定会出现误差)。所以核心思想就是,把这个1秒的时间段,拆分成21个关键帧解决。1/21 2/21 3/21 4/21。。。以此类推。我们就得出一个数组
[“000”, “048”, “095”, “143”, “190”, “238”, “286”, “333”, “381”, “429”, “476”, “524”, “571”, “619”, “667”, “714”, “762”, “810”, “857”, “905”, “952”]。在实现倒计时的时候只需要循环1/21秒的时候循环播放这个数组里面的列表。使用另外一个定时器,用来控制秒数的倒计时,也就是倒计时的秒位数部分。另外在倒计时结束的之后,由于可能出现的代码执行上的时间差,会导致毫秒的这个不为000。只需要在秒数倒计时结束之后直接将毫秒部分的数值重置为000 就可以了。
如何在前端编写一个精确到毫秒的倒计时相关推荐
- javascript毫秒计时器_基于javascript实现精确到毫秒的倒计时限时抢购
这篇文章为大家分享了javascript实现倒计时限时抢购,精确到毫秒的倒计时,供大家参考,具体内容如下 一.效果图 下面的图片就是聚划算上面的限时抢的效果 二.实现限时抢的效果需要用到的知识 :Ja ...
- php time豪秒_PHP精确到毫秒秒杀倒计时实例详解
精确到毫秒秒杀倒计时PHP源码实例,前台js活动展示倒计时,后台计算倒计时时间.每0.1秒定时刷新活动倒计时时间. PHP: // 注意:php的时间是以秒算.js的时间以毫秒算 // 设置时区 da ...
- html天猫倒计时代码,怎么用JavaScript编写一个天猫上使用的倒计时?
倒计时,主要用的是 js里面的Date() .下面是一个倒计时的例子,你可以参照修改: style* {margin:0px; padding:0px;}span{display:block; mar ...
- Java黑皮书课后题第6章:**6.25(将毫秒转化成小时、分钟、秒数)使用下面的方法头,编写一个将毫秒数转换成小时数、分钟数和描述的方法,返回形式如“小时:分钟:秒“
6.25(将毫秒转化成小时.分钟.秒数)使用下面的方法头,编写一个将毫秒数转换成小时数.分钟数和描述的方法,返回形式如"小时:分钟:秒" 题目 题目描述 破题 代码 运行实例 题目 ...
- 编写一个Java程序实现多线程,在线程中输出线程的名字,隔300毫秒输出一次,共输出20次。
编写一个Java程序实现多线程,在线程中输出线程的名字,隔300毫秒输出一次,共输出20次. 一.ThreadDemo class ThreadDemo extends Thread {public ...
- 用前端代码编写一个动态的罗盘时钟
用前端代码编写一个动态的罗盘时钟 前言 一.代码如下 1.index 2.js 3.css 页面效果 前言 今天给大家分享一个罗盘时钟的前端代码,喜欢的小伙伴帮忙点赞一下噢! 一.代码如下 1.ind ...
- 如何编写一个自己的web前端脚手架
脚手架简介 脚手架是创建前端项目的命令行工具,集成了常用的功能和配置,方便我们快速搭建项目,目前网络上也有很多可供选择的脚手架. 一个"简单脚手架"的构成其实非常少,即 代码模板 ...
- python编写程序计算1*2*3_编写一个python程序来计算事务的精确变化
我正在编写一个程序来计算客户交易的零钱,它还将告诉收银员每种面额中有多少可以交给客户(尽管它假设有一个无限填充的收银台).在 似乎一切都井井有条,工作正常,除了几个例子,我不知道为什么.例如,当我输入 ...
- 如何用FFmpeg编写一个简单播放器详细步骤介绍
如何用FFmpeg编写一个简单播放器详细步骤介绍(转载) FFMPEG是一个很好的库,可以用来创建视频应用或者生成特定的工具.FFMPEG几乎为你把所有的繁重工作都做了,比如解码.编码.复用和解复用. ...
最新文章
- api工程IOS学习:在IOS开发中使用GoogleMaps SDK
- TensorFlow基础11-(小批量梯度下降法和梯度下降法的优化)
- 【带你重拾Redis】Redis过期策略 和 内存淘汰策略(key回收)
- 原创:Docker在云家政的应用 谢绝复制粘贴内容
- 【Python】安利一个超好用的Pandas数据挖掘分析神器
- 学习mysql中使用inner join,left join 等
- PowerDesigner 导入sql脚本到MySQL乱码问题
- LeetCode 545. Boundary of Binary Tree 二叉树边界
- 1.4.2.PHP5.6 狐教程-环境(Mac下 PHP开发环境 配置及安装 php5.6.x nginx mysql)
- com.autonavi.AMapLocationThread (13): Exception: threading violation: expected the main thread-iOS
- TCP/IP协议栈详解
- 【百度云提取】:JDK1.8API、Jdk1.8安装包、jQueryAPI文档、JavaScriptAPI文档、W3School相关API文档
- matlab plot 折线变曲线
- Python爬取手机号码前7位号段归属地及运营商
- 用python编程解决鸡兔同笼问题
- linux 文件 内容 并集,Linux 两个文件求交集、并集、差集
- win10蓝牙已配对连接不上_win10蓝牙耳机连接不上怎么办_win10蓝牙耳机连接不上的解决方法...
- 微信小程序实现扫码一键连wifl
- 程序员普遍用gmail_使Gmail更好的最佳Chrome扩展程序
- 如何去掉行首行尾的空格