原生JavaScript实现前端网页倒计时功能
作者:函数茶馆时间:2026-10-24 09:06:24浏览:320
本文介绍如何使用原生JavaScript编写一个简单的网页倒计时功能。通过HTML结构定义展示区域,结合CSS进行基础样式布局,并利用JS定时器实时计算并更新剩余时间。代码包含完整的HTML、CSS及JS逻辑,适合前端初学者参考学习,可直接嵌入项目使用。
JavaScript实现网页倒计时
本文展示如何利用原生JavaScript编写一个基础的网页倒计时功能,供读者参考。
最终运行效果如下图所示。

具体实现代码如下。
// An highlighted block
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<!-- css样式 -->
<style type="text/css">
* {
margin: 0;
padding: 0;
}
.onsell {
height: 400px;
width: 200px;
border: 1px solid #F2F2F2;
margin: 10px;
box-shadow: 1px 2px 4px rgba(0, 0, 0, .2);
}
.box {
/* display: none; */
float: left;
margin: 328px 34px 0;
}
.box div {
position: relative;
display: inline-block;
width: 40px;
height: 40px;
background-color: #333;
color: #fff;
font-size: 20px;
text-align: center;
line-height: 40px;
box-shadow: 1px 2px 4px rgba(0, 0, 0, .4);
}
</style>
</head>
<body>
<!-- 要求:某商品在将来某一天进行促销一天,利用js制作倒计时效果: 时:分:秒 -->
<div class="onsell">
<div class="box">
<div class="hour">00</div>
<div class="minutes">00</div>
<div class="seconds">00</div>
</div>
</div>
</body>
</html>
<script>
window.onload = function () {
let hour = document.querySelector('.hour')
let minutes = document.querySelector('.minutes')
let seconds = document.querySelector('.seconds')
// 倒计时的时间戳 使用+将时间对象转为时间戳 等同于Date.now()
let wantTime = +new Date('2021-3-17 18:00:00')
countTime()
let timer = setInterval(() => {
countTime()
}, 1000)
function countTime() {
let currentTime = +new Date()
if (wantTime >= currentTime) {
let times = (wantTime - currentTime) / 1000 // 总秒数 时间戳/1000 = 秒
let remainDay = parseInt(times / 60 / 60 / 24) // 余数取整就是剩余的天数
console.log(remainDay);
if (remainDay === 0) {
if(times < 1) {
// 倒计时完毕
// 这里触发操作
}
// 天数小于一天开始计时
setTime(times)
}
} else {
hour.innerHTML = '00'
minutes.innerHTML = '00'
seconds.innerHTML = '00'
}
}
function setTime(time) {
// 粗糙版
let s = parseInt(time % 60)
s = s < 10 ? '0' + s : s
let m = parseInt(time / 60 % 60)
m = m < 10 ? '0' + m : m
let h = parseInt(time / 60 / 60 % 24)
h = h < 10 ? '0' + h : h
hour.innerHTML = h
minutes.innerHTML = m
seconds.innerHTML = s
}
}
</script>
以上内容即为本文的全部代码与说明,希望能为读者的学习提供便利,同时也欢迎继续支持本站。
作者最新文章
JS大数值转字符串出现科学计数法怎么办
2026-11-05 17:09:21
JS split切割后出现空字符串怎么过滤
2026-11-05 16:00:30
在 React 或 Vue 项目中封装使用 JS 节流防抖
2026-11-05 15:27:29
JavaScript中怎么将带小数的字符串转为整数?
2026-11-05 14:32:38
怎么用JavaScript策略模式重构电商促销计算逻辑?
2026-11-05 14:01:09
