JavaScript 实现支付页面 10 秒倒计时跳转功能
本文介绍如何使用 JavaScript 实现支付成功后的 10 秒倒计时并自动跳转回上一页的功能。通过结合 onclick 事件、setInterval 定时器以及 location.href 属性,控制页面在指定时间内显示剩余秒数,并在倒计时结束或用户点击后立即返回初始页面,适用于常见的支付确认场景。
JavaScript 支付倒计时功能概述
本文分享了一个使用 JavaScript 实现支付成功后 10 秒倒计时并自动跳转的具体代码示例,供读者参考。
实现效果如下图所示:

该案例的实现逻辑较为简单,主要依赖于 JavaScript 基础中的 onclick 点击事件处理函数以及定时器的应用。掌握这两个知识点后,即可快速完成此类交互效果的开发。
开发前需要准备两个 HTML 文件,分别用于展示初始页面和支付成功后的倒计时页面。这两个页面的基础 HTML 结构和 CSS 样式已预先编写好,具体代码可见下文。
功能需求与交互逻辑
接下来重点讨论 JavaScript 需要实现的具体交互逻辑:
1. 在第一个页面中,用户点击“支付”按钮后,需跳转至第二个页面。 2. 进入第二个页面时,立即启动 10 秒倒计时;倒计时结束后,自动跳转回第一个页面。 3. 在第二个页面中,用户若点击“立即返回”按钮,则直接跳转回第一个页面。
上述即为我们需要实现的全部交互效果。
页面跳转与计时实现原理
那么,如何具体实现这两个页面之间的跳转逻辑呢?
主要通过 onclick 事件监听点击行为,并在事件处理函数中修改 location.href="url" rel="external nofollow" 的值来完成页面跳转(此处 url 指向另一个 HTML 文件的路径)。
计时功能的实现相对直观,利用 setInterval 定时器定期更新元素的 innerText 属性以显示剩余秒数。当数字递减至 0 时,同样通过修改 location 属性触发页面跳转。
代码实现示例
具体代码实现如下:
第一个页面的代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
#btn{
display: block;
margin:130px auto;
width: 300px;
height: 100px;
font-size:30px;
}
</style>
</head>
<body>
<button id="btn">支付</button>
<script>
let btn=document.getElementById("btn");
btn.onclick=function(){
let con=window.confirm("您确定吗?");
if(con){
location.href='./支付.html';
}
}
</script>
</body>
</html>
第二个页面的代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
#spa {
font-size: 20px;
color: red;
}
#total {
width: 200px;
height: 200px;
background-color: rgba(169, 169, 169, 0.315);
margin: 40px auto;
border-radius: 20px;
padding: 20px;
position: flex;
flex-direction: column;
text-align: center;
}
#total h3 {
padding-top: 20px;
}
#total button {
margin-top: 30px
}
</style>
</head>
<body>
<div id="total">
<h3>恭喜您,支付成功!</h3>
<div>
<span id="spa">10</span>
<span>秒后自动返回首页</span>
</div>
<button id="btn">立即返回</button>
</div>
<script>
var spa = document.getElementById("spa");
let t = 10;
setInterval(() => {
t--;
spa.innerText = t;
if (t == 0) {
location.href = "./支付10秒钟.html";
}
}, 400);
var btn=document.getElementById("btn");
btn.onclick=function(){
location.href="./支付10秒钟.html" rel="external nofollow"
}
</script>
</body>
</html>
以上就是本文的全部内容,希望能为各位的学习提供有益帮助,也欢迎大家继续支持本站。
JavaScript入门书籍避坑:这些书不适合初学者
2026-11-05 16:31:15
JS使用Math.round实现保留两位小数的原理与代码
2026-11-05 15:35:55
JavaScript 原生 Date 对象怎么实现日期加减
2026-11-05 14:30:00
JavaScript函数定义的三种方式:声明、表达式与箭头函数
2026-11-05 13:50:55
JavaScript中escape、encodeURI和encodeURIComponent对空格的处理差异
2026-11-05 12:47:23
