用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 相关文章推荐
通过MSXML2自动获取QQ个人头像及在线情况(给初学者)
Jan 22 Javascript
基于Jquery的跨域传输数据(JSONP)
Mar 10 Javascript
THREE.JS入门教程(6)创建自己的全景图实现步骤
Jan 25 Javascript
用JQuery实现全选与取消的两种简单方法
Feb 22 Javascript
比例尺、缩略图、平移缩放之百度地图添加控件方法
Aug 03 Javascript
JavaScript的代码编写格式规范指南
Dec 07 Javascript
最全面的百度地图JavaScript离线版开发
Sep 10 Javascript
React-Native之定时器Timer的实现代码
Oct 04 Javascript
JS实现的判断方法、变量是否存在功能示例
Mar 28 Javascript
基于element-ui的rules中正则表达式
Sep 04 Javascript
Vue+Element实现动态生成新表单并添加验证功能
May 23 Javascript
微信小程序实现点击空白隐藏的方法示例
Aug 13 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
解决MySQL中文输出变成问号的问题
2008/06/05 PHP
PHP 常用数组内部函数(Array Functions)介绍
2013/06/05 PHP
PHP制作图形验证码代码分享
2014/10/23 PHP
php处理静态页面:页面设置缓存时间实例
2017/06/22 PHP
为JavaScript类型增加方法的实现代码(增加功能)
2011/12/29 Javascript
面向对象Javascript核心支持代码分享
2012/05/23 Javascript
windows系统下简单nodejs安装及环境配置
2013/01/08 NodeJs
JavaScript Promise启示录
2014/08/12 Javascript
javascript cookie基础应用之记录用户名的方法
2016/09/20 Javascript
Node.js 中exports 和 module.exports 的区别
2017/03/14 Javascript
angularjs $http实现form表单提交示例
2017/06/09 Javascript
es6新特性之 class 基本用法解析
2018/05/05 Javascript
微信小程序之多列表的显示和隐藏功能【附源码】
2018/08/06 Javascript
Vue页面跳转动画效果的实现方法
2018/09/23 Javascript
js实现导航跟随效果
2018/11/17 Javascript
Vue程序调试的方法
2019/06/17 Javascript
[55:26]DOTA2-DPC中国联赛 正赛 Aster vs LBZS BO3 第一场 2月23日
2021/03/11 DOTA
Python实现嵌套列表去重方法示例
2017/12/28 Python
Python实现的字典值比较功能示例
2018/01/08 Python
Python使用pickle模块储存对象操作示例
2018/08/15 Python
Python3.6.x中内置函数总结及讲解
2019/02/22 Python
Python pandas实现excel工作表合并功能详解
2019/08/29 Python
Django模板标签{% for %}循环,获取制定条数据实例
2020/05/14 Python
python两种注释用法的示例
2020/10/09 Python
印度服装购物网站:Limeroad
2018/09/26 全球购物
德国家用电器购物网站:Premiumshop24
2019/08/22 全球购物
世界上最好的野生海鲜和有机食品:Vital Choice
2020/01/16 全球购物
网络、C以及其他硬件方面的面试题
2016/08/23 面试题
高中军训感言200字
2014/02/23 职场文书
安全生产责任书
2014/03/12 职场文书
2014个人年终工作总结范文
2014/12/15 职场文书
学校2016年圣诞节活动总结
2016/03/31 职场文书
导游词之潮音寺
2019/09/26 职场文书
详解Flutter和Dart取消Future的三种方法
2022/04/07 Java/Android
sql查询语句之平均分、最高最低分及排序语句
2022/05/30 MySQL
Java Spring Boot请求方式与请求映射过程分析
2022/06/25 Java/Android