用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 相关文章推荐
JScript中的&quot;this&quot;关键字使用方式补充材料
Mar 08 Javascript
基于JQuery 选择器使用说明介绍
Apr 18 Javascript
JS防止用户多次提交的简单代码
Aug 01 Javascript
简单选项卡 js和jquery制作方法分享
Feb 26 Javascript
深入浅析JS的数组遍历方法(推荐)
Jun 15 Javascript
vue.js todolist实现代码
Oct 29 Javascript
jquery动态添加以及遍历option并获取特定样式名称的option方法
Jan 29 jQuery
微信小程序文章详情页面实现代码
Sep 10 Javascript
vue 的点击事件获取当前点击的元素方法
Sep 15 Javascript
React如何实现浏览器打印部分内容详析
May 19 Javascript
JS实现图片懒加载(lazyload)过程详解
Apr 02 Javascript
vue实现多个echarts根据屏幕大小变化而变化实例
Jul 19 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面向对象概念
2011/11/06 PHP
PHP反射机制用法实例
2014/08/28 PHP
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
2014/12/18 PHP
thinkPHP2.1自定义标签库的导入方法详解
2016/07/20 PHP
轻轻松松学JS调试(不下载任何工具)
2010/04/14 Javascript
jQuery EasyUI API 中文文档 - Tabs标签页/选项卡
2011/10/01 Javascript
js通过元素class名字获取元素集合的具体实现
2014/01/06 Javascript
jQuery 如何给Carousel插件添加新的功能
2016/04/18 Javascript
JavaScript实现的微信二维码图片生成器的示例
2016/10/26 Javascript
nodejs中全局变量的实例解析
2017/03/07 NodeJs
在angular 6中使用 less 的实例代码
2018/05/13 Javascript
浅谈angular表单提交中ng-submit的默认使用方法
2018/09/30 Javascript
轻松解决JavaScript定时器越走越快的问题
2019/05/13 Javascript
JS/jQuery实现超简单的Table表格添加,删除行功能示例
2019/07/31 jQuery
微信小程序实现简单文字跑马灯
2020/05/26 Javascript
vue实现登录功能
2020/12/31 Vue.js
[01:03:22]LGD vs OG 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
python使用ctypes模块调用windowsapi获取系统版本示例
2014/04/17 Python
分析Python的Django框架的运行方式及处理流程
2015/04/08 Python
python算法题 链表反转详解
2019/07/02 Python
Python单元测试工具doctest和unittest使用解析
2019/09/02 Python
python 使用shutil复制图片的例子
2019/12/13 Python
python 命名规范知识点汇总
2020/02/14 Python
在python下实现word2vec词向量训练与加载实例
2020/06/09 Python
Intersport西班牙:在线体育商店
2019/11/06 全球购物
戴尔新加坡官网:Dell Singapore
2020/12/13 全球购物
香港艺人陈冠希创办的潮流品牌:JUICESTORE
2021/03/04 全球购物
装饰资料员岗位职责
2013/12/30 职场文书
个人查摆剖析材料
2014/02/04 职场文书
服装促销活动方案
2014/02/23 职场文书
疾病捐款倡议书
2014/05/13 职场文书
创先争优标语
2014/06/27 职场文书
2014年质量工作总结
2014/11/22 职场文书
2016年度继续教育学习心得体会
2016/01/19 职场文书
演讲稿:​快乐,从不抱怨开始!
2019/04/02 职场文书
一文了解Java动态代理的原理及实现
2022/07/07 Java/Android