用javascript实现倒计时效果


Posted in Javascript onFebruary 09, 2021

用Javascript实现倒计时效果,供大家参考,具体内容如下

正在学习大前端中,有代码和思路不规范不正确的地方往多多包涵,感谢指教

在某些商城网站中,我们常常可以看见其网站或者app上有一个区域放的是倒计时,来用来提醒用户还有多少时间将会发生什么事情,下面我们用代码来对其进行实现

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
 <style>
 div {
  margin: 300px;
  border: 1px solid pink;
 }

 span {
  display: inline-block;
  width: 40px;
  height: 40px;
  background-color: blue;
  font-size: 20px;
  color: #fff;
  text-align: center;
  line-height: 40px;
 }
 </style>
</head>
<body>
<div>
 <span class="hour">1</span>
 <span class="minute">2</span>
 <span class="second">3</span>
</div>
<script>
 var hours=document.querySelector('.hour')
 var min=document.querySelector('.minute')
 var sce=document.querySelector('.second')
 var inputTime=+new Date('2021-2-8 16:40:00')
 //countDown()//先1调用,防止第一次刷新有空白
 //开启定时器,这是等了1000ms后才开启的定时器
 setInterval(countDown,1)
 function countDown() {
 var nowTime = +new Date(); // 返回的是当前时间总的毫秒数
 var times = (inputTime - nowTime) / 1000; // times是剩余时间总的秒数
 var h = parseInt(times / 60 / 60 % 24); //时
 h = h < 10 ? '0' + h : h;
 hours.innerHTML = h; // 把剩余的小时给 小时黑色盒子
 var m = parseInt(times / 60 % 60); // 分
 m = m < 10 ? '0' + m : m;
 min.innerHTML = m;
 var s = parseInt(times % 60); // 当前的秒
 s = s < 10 ? '0' + s : s;
 sce.innerHTML = s;
 }
</script>
</body>
</html>

演示效果:

用javascript实现倒计时效果

时间一秒一秒得倒计时

代码解释:

这里我把三个行内元素span放在了块元素div里面,由于行内元素不能改宽高,所以都换成行内块元素。

这里因为倒计时要修改的地方是三个span盒子,分别对应这小时,分钟,秒数所以获取这三个span的事件。然后用inputTime这个变量来接收我们的目的时间。

然后创建一个countDown为名字的函数。函数里面用nowTime这个变量来接收当前的时间。因为接收到的时间是以毫秒为单位,所以用一个变量times来接收目的时间和现在时间的时间差,然后再除以1000,因为1s=1000ms,这里就得到了剩余的秒数。

用h表示剩余的小时一天=24小时,一个小时=60分钟,1分钟=60s。所以这里用总的秒数/60/60%24就得到了剩余的小时数。然后为了让样式更好看,我们把显示小数设置为两位,这里用的是三元运算符:小时小于10?如果小于就在前面+‘0';如果大于10就只返回数字。并用h来进行接收,然后把h给hours这个盒子。下面的分钟和秒数都是一样的原理。
然后函数写好了,我们再用定时器来调用这个函数,间隔时间为1/1000ms。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
一个判断email合法性的函数[非正则]
Dec 09 Javascript
JavaScript内核之基本概念
Oct 21 Javascript
javascript获取网页中指定节点的父节点、子节点的方法小结
Apr 24 Javascript
jquery操作对象数组元素方法详解
Nov 26 Javascript
jQuery中ajax的get()方法用法实例
Dec 26 Javascript
jquery实现美观的导航菜单鼠标提示特效代码
Sep 06 Javascript
js控住DOM实现发布微博效果
Aug 30 Javascript
js中class的点击事件没有效果的解决方法
Oct 13 Javascript
bootstrap弹出层的多种触发方式
May 10 Javascript
JS正则表达式常见用法实例详解
Jun 19 Javascript
微信小程序 自定义弹窗实现过程(附代码)
Dec 05 Javascript
微信小程序实现手指拖动选项排序
Apr 22 Javascript
javascript实现倒计时关闭广告
Feb 09 #Javascript
javascript实现固定侧边栏
Feb 09 #Javascript
JavaScript实现前端倒计时效果
Feb 09 #Javascript
Vue+Bootstrap实现简易学生管理系统
Feb 09 #Vue.js
JavaScript 获取滚动条位置并将页面滑动到锚点
Feb 08 #Javascript
详解Vue的七种传值方式
Feb 08 #Vue.js
Handtrack.js库实现实时监测手部运动(推荐)
Feb 08 #Javascript
You might like
实用函数9
2007/11/08 PHP
ThinkPHP分组下自定义标签库实例
2014/11/01 PHP
Yii使用ajax验证显示错误messagebox的解决方法
2014/12/03 PHP
php rmdir使用递归函数删除非空目录实例详解
2016/10/20 PHP
使用 PHP Masked Package 屏蔽敏感数据的实现方法
2019/10/15 PHP
myEvent.js javascript跨浏览器事件框架
2011/10/24 Javascript
JavaScript实现同时调用多个函数的方法
2015/11/09 Javascript
nodejs读写json文件的简单方法(必看)
2017/03/09 NodeJs
一个有意思的鼠标点击文字特效jquery代码
2017/09/23 jQuery
微信小程序之滚动视图容器的实现方法
2017/09/26 Javascript
Angular实现可删除并计算总金额的购物车功能示例
2017/12/26 Javascript
JS实现根据指定值删除数组中的元素操作示例
2018/08/02 Javascript
Vue 指令实现按钮级别权限管理功能
2019/04/23 Javascript
Vue 3.0 前瞻Vue Function API新特性体验
2019/08/12 Javascript
jQuery 查找元素操作实例小结
2019/10/02 jQuery
[36:05]完美世界DOTA2联赛循环赛 Forest vs DM 第一场 11.06
2020/11/06 DOTA
用Python实现web端用户登录和注册功能的教程
2015/04/30 Python
举例讲解Python中的list列表数据结构用法
2016/03/12 Python
小米5s微信跳一跳小程序python源码
2018/01/08 Python
为什么选择python编程语言入门黑客攻防 给你几个理由!
2018/02/02 Python
Python实现将json文件中向量写入Excel的方法
2018/03/26 Python
Python结合ImageMagick实现多张图片合并为一个pdf文件的方法
2018/04/24 Python
flask框架视图函数用法示例
2018/07/19 Python
Python使用pymongo模块操作MongoDB的方法示例
2018/07/20 Python
在python带权重的列表中随机取值的方法
2019/01/23 Python
python 通过可变参数计算n个数的乘积方法
2019/06/13 Python
python之yield和Generator深入解析
2019/09/18 Python
详解python3类型注释annotations实用案例
2021/01/20 Python
Python tkinter实现日期选择器
2021/02/22 Python
各大浏览器 CSS3 和 HTML5 兼容速查表 图文
2010/04/01 HTML / CSS
Champion官网:美国冠军运动服装
2017/01/25 全球购物
英国计算机产品零售商:Novatech(定制个人电脑、笔记本电脑、工作站和服务器)
2018/01/28 全球购物
UNIX文件名称有什么规定
2013/03/25 面试题
货车司机岗位职责
2014/03/18 职场文书
教你使用VS Code的MySQL扩展管理数据库的方法
2022/01/22 MySQL
实现GO语言对数组切片去重
2022/04/20 Golang