如何使用 JavaScript 制作支付倒计时页面?
制作支付倒计时页面一般分为以下几个步骤:
- 在 HTML 文件中添加倒计时的显示区域。
一般可以使用一个 div 模块来包含倒计时,如下所示:
<div class="countdown">
<span class="countdown-hours"></span>小时
<span class="countdown-minutes"></span>分钟
<span class="countdown-seconds"></span>秒
</div>
其中的 .countdown, .countdown-hours, .countdown-minutes 和 .countdown-seconds 都是 CSS 类名,用来方便我们通过 JavaScript 来处理样式和数据。
- 在 JavaScript 中编写倒计时逻辑。
在使用 JavaScript 编写倒计时逻辑之前,我们需要首先获取到支付的截止时间(如:2022年1月1日20:00:00),并转化为 JavaScript 的时间对象。
var endTime = new Date('2022/01/01 20:00:00');
然后,每隔一定的时间(比如说1000毫秒)就更新倒计时的显示数据。
setInterval(function() {
var nowTime = new Date(); // 当前时间
var leftTime = endTime.getTime() - nowTime.getTime(); // 剩余时间毫秒数
if (leftTime < 0) {
clearInterval(intervalId); // 清除倒计时循环
// 可以在此处添加超时的业务逻辑
return;
}
var hours = Math.floor(leftTime / 1000 / 60 / 60); // 剩余小时数
var minutes = Math.floor(leftTime / 1000 / 60 % 60); // 剩余分钟数
var seconds = Math.floor(leftTime / 1000 % 60); // 剩余秒数
document.querySelector('.countdown-hours').innerText = hours;
document.querySelector('.countdown-minutes').innerText = minutes;
document.querySelector('.countdown-seconds').innerText = seconds;
}, 1000); // 每隔1000毫秒更新一次倒计时显示
在这个例子中,我们使用了 JavaScript 的 setInterval 函数来让倒计时每隔一秒钟更新一次。在每次更新时,我们对剩余的毫秒数进行取整运算,然后分别计算出剩余的小时、分钟、秒,并更新到对应的 HTML 元素上。
- 根据需要美化样式。
在完成了上述两步之后,我们可以在样式表中对 .countdown 和下面的 .countdown-hours, .countdown-minutes 和 .countdown-seconds 进行样式设定,以达到美化界面的目的。
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JS制作支付倒计时页面</title>
<style>
.countdown {
font-size: 24px;
margin: 20px;
}
.countdown span {
font-size: 32px;
}
</style>
</head>
<body>
<div class="countdown">
<span class="countdown-hours"></span>小时
<span class="countdown-minutes"></span>分钟
<span class="countdown-seconds"></span>秒
</div>
<script>
var endTime = new Date('2021/12/31 23:59:59'); // 支付截止时间
var intervalId = setInterval(function() {
var nowTime = new Date(); // 当前时间
var leftTime = endTime.getTime() - nowTime.getTime(); // 剩余时间毫秒数
if (leftTime < 0) {
clearInterval(intervalId); // 清除倒计时循环
// 可以在此处添加超时的业务逻辑
return;
}
var hours = Math.floor(leftTime / 1000 / 60 / 60); // 剩余小时数
var minutes = Math.floor(leftTime / 1000 / 60 % 60); // 剩余分钟数
var seconds = Math.floor(leftTime / 1000 % 60); // 剩余秒数
document.querySelector('.countdown-hours').innerText = hours;
document.querySelector('.countdown-minutes').innerText = minutes;
document.querySelector('.countdown-seconds').innerText = seconds;
}, 1000); // 每隔1000毫秒更新一次倒计时显示
</script>
</body>
</html>
另外一个示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JS制作支付倒计时页面</title>
<style>
.countdown {
font-family: Arial;
font-size: 36px;
line-height: 1.5;
text-align: center;
}
.countdown-item {
display: inline-block;
background-color: #ddd;
padding: 0px 10px;
margin-right: 10px;
}
.countdown-item:last-child {
margin-right: 0px;
}
.countdown-item span {
font-size: 80px;
font-weight: bold;
display: inline-block;
margin-top: 10px;
}
.countdown-item span.unit {
font-size: 24px;
display: block;
margin-top: 5px;
}
</style>
</head>
<body>
<div class="countdown">
<div class="countdown-item">
<span class="countdown-hours"></span>
<span class="unit">小时</span>
</div>
<div class="countdown-item">
<span class="countdown-minutes"></span>
<span class="unit">分钟</span>
</div>
<div class="countdown-item">
<span class="countdown-seconds"></span>
<span class="unit">秒</span>
</div>
</div>
<script>
var endTime = new Date('2021/12/31 23:59:59'); // 支付截止时间
var intervalId = setInterval(function() {
var nowTime = new Date(); // 当前时间
var leftTime = endTime.getTime() - nowTime.getTime(); // 剩余时间毫秒数
if (leftTime < 0) {
clearInterval(intervalId); // 清除倒计时循环
// 可以在此处添加超时的业务逻辑
return;
}
var hours = Math.floor(leftTime / 1000 / 60 / 60); // 剩余小时数
var minutes = Math.floor(leftTime / 1000 / 60 % 60); // 剩余分钟数
var seconds = Math.floor(leftTime / 1000 % 60); // 剩余秒数
document.querySelector('.countdown-hours').innerText = hours;
document.querySelector('.countdown-minutes').innerText = minutes;
document.querySelector('.countdown-seconds').innerText = seconds;
}, 1000); // 每隔1000毫秒更新一次倒计时显示
</script>
</body>
</html>
在这个例子中,我们使用了 div 模块包含倒计时的显示数据,并用类名来选取 HTML 元素进行更新。在样式表中,我们也做了一些调整,如:改变字体、字号、颜色、间距等,以达到更好的视觉效果。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js制作支付倒计时页面 - Python技术站