用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 相关文章推荐
Jquery 设置标题的自动翻转
Oct 03 Javascript
JavaScript语言核心数据类型和变量使用介绍
Aug 23 Javascript
JavaScript对内存分配及管理机制详细解析
Nov 11 Javascript
浅析javascript中function 的 length 属性
May 27 Javascript
JavaScript中用sort()方法对数组元素进行排序的操作
Jun 09 Javascript
JS实现带有抽屉效果的产品类网站多级导航菜单代码
Sep 15 Javascript
js实现div在页面拖动效果
May 04 Javascript
原生js实现下拉框功能(支持键盘事件)
Jan 13 Javascript
$.browser.msie 为空或不是对象问题的多种解决方法
Mar 19 Javascript
iOS + node.js使用Socket.IO框架进行实时通信示例
Apr 14 Javascript
详解ES7 Decorator 入门解析
Feb 18 Javascript
vue中使用vue-print.js实现多页打印
Mar 05 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
Php做的端口嗅探器--可以指定网站和端口
2006/10/09 PHP
ajax+php打造进度条代码[readyState各状态说明]
2010/04/12 PHP
laravel框架模型和数据库基础操作实例详解
2020/01/25 PHP
php判断某个方法是否存在函数function_exists (),method_exists()与is_callable()区别与用法解析
2020/04/20 PHP
用jquery来定位
2007/02/20 Javascript
记录几个javascript有关的小细节
2007/04/02 Javascript
js判断url是否有效的两种方法
2014/03/04 Javascript
JS实现动态移动层及拖动浮层关闭的方法
2015/04/30 Javascript
浅析Javascript匿名函数与自执行函数
2016/02/06 Javascript
AngularJS基础 ng-mouseenter 指令示例代码
2016/08/02 Javascript
Bootstrap表单制作代码
2017/03/17 Javascript
JS基于正则实现数字千分位用逗号分隔的方法
2017/06/16 Javascript
Mui使用jquery并且使用点击跳转新窗口的实例
2017/08/19 jQuery
JavaScript缺少insertAfter解决方案
2020/07/03 Javascript
[04:28]DOTA2亚洲邀请赛小组赛第五日 TOP10精彩集锦
2015/02/03 DOTA
使用django-suit为django 1.7 admin后台添加模板
2014/11/18 Python
介绍Python中的fabs()方法的使用
2015/05/14 Python
Python爬取三国演义的实现方法
2016/09/12 Python
python中redis的安装和使用
2016/12/04 Python
聊聊Python中的pypy
2018/01/12 Python
Python读取图片为16进制表示简单代码
2018/01/19 Python
python调用系统ffmpeg实现视频截图、http发送
2018/03/06 Python
Pycharm2017版本设置启动时默认自动打开项目的方法
2018/10/29 Python
python3爬虫怎样构建请求header
2018/12/23 Python
在python中,使用scatter绘制散点图的实例
2019/07/03 Python
详解python命令提示符窗口下如何运行python脚本
2020/09/11 Python
策划主管的工作职责
2013/11/24 职场文书
采购部经理岗位职责
2014/02/10 职场文书
体育教育毕业生自荐信
2014/06/29 职场文书
关于随地扔垃圾的检讨书
2014/09/30 职场文书
2015年大学生入党自荐书
2015/03/24 职场文书
2015年读书月活动总结
2015/03/26 职场文书
个人借条范本
2015/05/25 职场文书
Java使用httpRequest+Jsoup爬取红蓝球号码
2021/07/02 Java/Android
Vue3.0中Ref与Reactive的区别示例详析
2021/07/07 Vue.js
Windows和Linux上部署Golang并运行程序
2022/04/22 Servers