用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 相关文章推荐
用javascript实现给出的盒子的序列是否可连为一矩型
Aug 30 Javascript
jquery获得keycode的示例代码
Dec 30 Javascript
在HTML代码中使用JavaScript代码的例子
Oct 16 Javascript
jQuery元素的隐藏与显示实例
Jan 20 Javascript
JavaScript设置body高度为浏览器高度的方法
Feb 09 Javascript
比较常见的javascript中定义函数的区别
Nov 09 Javascript
Angular学习笔记之angular的$filter服务浅析
Nov 12 Javascript
JS中from 表单序列化提交的代码
Jan 20 Javascript
angularjs指令之绑定策略(@、=、&amp;)
Apr 13 Javascript
angularjs实现过滤并替换关键字小功能
Sep 19 Javascript
jQuery+CSS实现的标签页效果示例【测试可用】
Aug 14 jQuery
如何搭建一个完整的Vue3.0+ts的项目步骤
Oct 18 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
PHP把小数转成整数3种方法
2014/06/30 PHP
php清除和销毁session的方法分析
2015/03/19 PHP
微信公众号开发之语音消息识别php代码
2016/08/08 PHP
深入研究PHP中的preg_replace和代码执行
2018/08/15 PHP
PHP论坛实现积分系统的思路代码详解
2020/06/01 PHP
解析arp病毒背后利用的Javascript技术附解密方法
2007/08/06 Javascript
使用jQuery+HttpHandler+xml模拟一个三级联动的例子
2011/08/09 Javascript
nodejs教程之制作一个简单的文章发布系统
2014/11/21 NodeJs
jQuery 监控键盘一段时间没输入
2016/04/22 Javascript
JS封装的自动创建表格的实现代码
2016/06/15 Javascript
jQuery 3.0中存在问题及解决办法
2016/07/15 Javascript
什么是JavaScript注入攻击?
2016/09/14 Javascript
原生JS实现隐藏显示图片 JS实现点击切换图片效果
2021/01/27 Javascript
Vue.js2.0中的变化小结
2017/10/24 Javascript
jquery实现回车键触发事件(实例讲解)
2017/11/21 jQuery
vue 检测用户上传图片宽高的方法
2020/02/06 Javascript
安装dbus-python的简要教程
2015/05/05 Python
Python利用递归和walk()遍历目录文件的方法示例
2017/07/14 Python
Python的mysql数据库的更新如何实现
2017/07/31 Python
Python Web编程之WSGI协议简介
2018/07/18 Python
Django学习笔记之为Model添加Action
2019/04/30 Python
Python中断多重循环的思路总结
2019/10/04 Python
Django admin禁用编辑链接和添加删除操作详解
2019/11/15 Python
wxPython之wx.DC绘制形状
2019/11/19 Python
如何基于Python获取图片的物理尺寸
2019/11/25 Python
Python3.7在anaconda里面使用IDLE编译器的步骤详解
2020/04/29 Python
解决python中import文件夹下面py文件报错问题
2020/06/01 Python
Keras loss函数剖析
2020/07/06 Python
CSS3制作炫酷带方向感应的鼠标滑过图片3D动画
2016/03/16 HTML / CSS
女士时装鞋:Chinese Laundry
2018/08/29 全球购物
应届生保险求职信
2013/11/11 职场文书
学生党员检讨书范文
2014/12/27 职场文书
《失物招领》教学反思
2016/02/20 职场文书
MySQL如何使用使用Xtrabackup进行备份和恢复
2021/06/21 MySQL
apache ftpserver搭建ftp服务器
2022/05/20 Servers