JavaScript 实现支付页面 10 秒倒计时跳转功能

作者:代码拾荒时间:2026-10-24 17:36:31浏览:69

本文介绍如何使用 JavaScript 实现支付成功后的 10 秒倒计时并自动跳转回上一页的功能。通过结合 onclick 事件、setInterval 定时器以及 location.href 属性,控制页面在指定时间内显示剩余秒数,并在倒计时结束或用户点击后立即返回初始页面,适用于常见的支付确认场景。

JavaScript 支付倒计时功能概述

本文分享了一个使用 JavaScript 实现支付成功后 10 秒倒计时并自动跳转的具体代码示例,供读者参考。

实现效果如下图所示:

JavaScript 支付倒计时功能概述

该案例的实现逻辑较为简单,主要依赖于 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>

以上就是本文的全部内容,希望能为各位的学习提供有益帮助,也欢迎大家继续支持本站。

作者最新文章