用javascript实现一个简易倒计时功能
Admin 2021-04-07 群英技术资讯 1421 次浏览
我们在访问购物网站时,经常会看到一些秒杀活动,一般在秒杀活动区域会放置一个倒计时,用作提醒用户活动结束时间。那么这样的倒计时功能是如何实现的呢?下面我们我们就用JavaScript来实现一个简易的倒计时效果,感兴趣的朋友继续往下看吧。
代码如下:
<!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>
演示效果:

时间一秒一秒得倒计时
代码解释:
这里我把三个行内元素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实现的倒计时功能介绍,对此感兴趣的朋友,能够参考上述代码,来实现一个天数、时、分、秒的倒计时。希望上述内容对大家学习有所帮助。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
jquery初始化方法通常是下面这四种,使用非常的普遍,js初始化是在界面加载完成后执行的一些函数,在使用jquery初始化之前需要在head标签内引入jquery包,例如: scripttype=text/javascriptsrc=./js/jquery.min.js/script Jquery初始化方法一: scripttype=
今天我们来了解websocket封装的内容,下文给大家分享了websocket封装过程,及引入和使用,需要的朋友可以参考,下面我们一起来学习一下吧。
本篇文章给大家带来了关于javascript的相关知识,主要介绍了JavaScript中异步与回调的基本概念,以及回调地狱现象,本文主要介绍了异步和回调的基本概念,二者是JavaScript的核心内容,下面一起来看依稀啊,希望对大家有帮助。
本文给大家分享的是关于JS字面量对象的内容,js中的对象字面量也称为对象初始化器,一些新手朋友可能对JS字面量对象不是很了解,对此下面就介绍一下JS字面量对象的作用和使用,感兴趣的朋友可以了解看看。
对于轮播图的实现我们了解了很多,也知道实现方法有很多,本文给大家分享的是用swiper插件做轮播图,那么vue的swiper插件要实现轮播图的效果呢?接下来我们直接看代码
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008