思路

我之前在掘金上看到,有小天才的想法直接在倒计时的后面加一个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 就可以了。

如何在前端编写一个精确到毫秒的倒计时相关推荐

  1. javascript毫秒计时器_基于javascript实现精确到毫秒的倒计时限时抢购

    这篇文章为大家分享了javascript实现倒计时限时抢购,精确到毫秒的倒计时,供大家参考,具体内容如下 一.效果图 下面的图片就是聚划算上面的限时抢的效果 二.实现限时抢的效果需要用到的知识 :Ja ...

  2. php time豪秒_PHP精确到毫秒秒杀倒计时实例详解

    精确到毫秒秒杀倒计时PHP源码实例,前台js活动展示倒计时,后台计算倒计时时间.每0.1秒定时刷新活动倒计时时间. PHP: // 注意:php的时间是以秒算.js的时间以毫秒算 // 设置时区 da ...

  3. html天猫倒计时代码,怎么用JavaScript编写一个天猫上使用的倒计时?

    倒计时,主要用的是 js里面的Date() .下面是一个倒计时的例子,你可以参照修改: style* {margin:0px; padding:0px;}span{display:block; mar ...

  4. Java黑皮书课后题第6章:**6.25(将毫秒转化成小时、分钟、秒数)使用下面的方法头,编写一个将毫秒数转换成小时数、分钟数和描述的方法,返回形式如“小时:分钟:秒“

    6.25(将毫秒转化成小时.分钟.秒数)使用下面的方法头,编写一个将毫秒数转换成小时数.分钟数和描述的方法,返回形式如"小时:分钟:秒" 题目 题目描述 破题 代码 运行实例 题目 ...

  5. 编写一个Java程序实现多线程,在线程中输出线程的名字,隔300毫秒输出一次,共输出20次。

    编写一个Java程序实现多线程,在线程中输出线程的名字,隔300毫秒输出一次,共输出20次. 一.ThreadDemo class ThreadDemo extends Thread {public ...

  6. 用前端代码编写一个动态的罗盘时钟

    用前端代码编写一个动态的罗盘时钟 前言 一.代码如下 1.index 2.js 3.css 页面效果 前言 今天给大家分享一个罗盘时钟的前端代码,喜欢的小伙伴帮忙点赞一下噢! 一.代码如下 1.ind ...

  7. 如何编写一个自己的web前端脚手架

    脚手架简介 脚手架是创建前端项目的命令行工具,集成了常用的功能和配置,方便我们快速搭建项目,目前网络上也有很多可供选择的脚手架. 一个"简单脚手架"的构成其实非常少,即 代码模板 ...

  8. python编写程序计算1*2*3_编写一个python程序来计算事务的精确变化

    我正在编写一个程序来计算客户交易的零钱,它还将告诉收银员每种面额中有多少可以交给客户(尽管它假设有一个无限填充的收银台).在 似乎一切都井井有条,工作正常,除了几个例子,我不知道为什么.例如,当我输入 ...

  9. 如何用FFmpeg编写一个简单播放器详细步骤介绍

    如何用FFmpeg编写一个简单播放器详细步骤介绍(转载) FFMPEG是一个很好的库,可以用来创建视频应用或者生成特定的工具.FFMPEG几乎为你把所有的繁重工作都做了,比如解码.编码.复用和解复用. ...

最新文章

  1. api工程IOS学习:在IOS开发中使用GoogleMaps SDK
  2. TensorFlow基础11-(小批量梯度下降法和梯度下降法的优化)
  3. 【带你重拾Redis】Redis过期策略 和 内存淘汰策略(key回收)
  4. 原创:Docker在云家政的应用 谢绝复制粘贴内容
  5. 【Python】安利一个超好用的Pandas数据挖掘分析神器
  6. 学习mysql中使用inner join,left join 等
  7. PowerDesigner 导入sql脚本到MySQL乱码问题
  8. LeetCode 545. Boundary of Binary Tree 二叉树边界
  9. 1.4.2.PHP5.6 狐教程-环境(Mac下 PHP开发环境 配置及安装 php5.6.x nginx mysql)
  10. com.autonavi.AMapLocationThread (13): Exception: threading violation: expected the main thread-iOS
  11. TCP/IP协议栈详解
  12. 【百度云提取】:JDK1.8API、Jdk1.8安装包、jQueryAPI文档、JavaScriptAPI文档、W3School相关API文档
  13. matlab plot 折线变曲线
  14. Python爬取手机号码前7位号段归属地及运营商
  15. 用python编程解决鸡兔同笼问题
  16. linux 文件 内容 并集,Linux 两个文件求交集、并集、差集
  17. win10蓝牙已配对连接不上_win10蓝牙耳机连接不上怎么办_win10蓝牙耳机连接不上的解决方法...
  18. 微信小程序实现扫码一键连wifl
  19. 程序员普遍用gmail_使Gmail更好的最佳Chrome扩展程序
  20. 如何去掉行首行尾的空格

热门文章

  1. jQuery框架常用标记
  2. php新闻管理系统报告,PHP新闻管理系统.doc
  3. 百度上湖南卫视招聘 李彦宏展现舞技
  4. 页面报错parsererror
  5. 二维数组大小的确定!你真的是二维数组吗?
  6. Ext ColumnModel
  7. 取证APP在杭州发布 将区块链、电子签名、电子数据鉴定等技术运用于取证全过程
  8. 多媒体播放器学习笔记
  9. [转载]点阵图(位图)与矢量图的区别
  10. 如何使用Google Authenticator使LastPass更加安全