本文介绍如何使用JavaScript结合jQuery实现一个精确到毫秒的倒计时功能。通过Date对象获取当前时间与截止时间,计算剩余时间差,并利用setTimeout递归调用实现每秒刷新显示。代码包含HTML结构、CSS样式及核心JS逻辑,适用于活动页面或限时抢购场景。
JavaScript 倒计时功能实现
以下示例展示了如何使用JavaScript编写一个支持时分秒及毫秒显示的倒计时程序,供读者参考学习。
完整代码示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>js时分秒毫秒倒计时</title>
</head>
<body>
<div class="active_time" id="active_time"></div>
<script src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
<script>
//js部分
function countTime(value) {
//获取当前时间
var date = new Date();
var now = date.getTime();
//设置截止时间
//在pc端浏览器可以这样写
var endDate = new Date("2019-12-03 00:00:00");
//移动端必须这样写,因为ios不支持日期中间是-链接,会报错
//var endDate = new Date("2019/7/22 00:00:00");
var end = endDate.getTime();
//时间差
var differTime = end - now;
//定义变量,h,m,s保存倒计时的时间
var h, m, s;
if (differTime >= 0) {
h = Math.floor(differTime / 1000 / 60 / 60);
m = Math.floor(differTime / 1000 / 60 % 60);
s = Math.floor(differTime / 1000 % 60);
h = h < 10 ? ("0" + h) : h;
m = m < 10 ? ("0" + m) : m;
s = s < 10 ? ("0" + s) : s;
var timeDom = "倒计时:" + h + "小时" + m + "分" + s + "秒";
$("#active_time").text(timeDom);
//递归调用函数所以是延时器不是定时器
setTimeout(function () {
countTime(value)
}, 1000);
} else {
var timeDom ="00小时 00分 00秒";
$("#active_time").text(timeDom);
}}
countTime()
</script>
</body>
</html>
如需了解更多关于倒计时功能的实现细节,可查阅专题《倒计时功能》中的相关文章。
感谢阅读,希望本文内容能对您的编程学习有所启发。欢迎继续支持本站获取更多技术分享。