js制作支付倒计时页面

如何使用 JavaScript 制作支付倒计时页面?

制作支付倒计时页面一般分为以下几个步骤:

  1. 在 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 来处理样式和数据。

  1. 在 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 元素上。

  1. 根据需要美化样式。

在完成了上述两步之后,我们可以在样式表中对 .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技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • 详解css加载会造成阻塞吗

    当浏览器加载网页时,它需要依次处理页面上的HTML、CSS和JavaScript文件,如果这些文件中的某个文件加载时阻塞,那么浏览器将无法继续加载其他资源,从而导致页面卡顿或加载时间延长。因此,我们需要了解每个文件是如何影响页面加载时间的。 CSS加载会造成阻塞吗? 在加载网页时,浏览器会将HTML文档与对应的CSS样式表结合起来,生成外观和布局,这就是渲染…

    css 2023年6月10日
    00
  • CSS未知高度垂直居中的实现

    实现一个元素在其父元素中垂直居中是一个很常见的需求,在CSS中可以通过多个方法实现,但是在元素高度未知的情况下,如何实现元素的垂直居中则需要采用一些特殊的方法。 以下是CSS未知高度垂直居中的实现攻略: 方法一:使用Flexbox布局 首先给父元素设置display: flex; 和justify-content: center; 即可实现水平居中。然后再给…

    css 2023年6月10日
    00
  • CSS3近阶段篇之酷炫的3D旋转透视

    CSS3近阶段篇之酷炫的3D旋转透视 简介 本文将讲解如何使用CSS3实现3D旋转透视的效果,使网站更加美观炫酷。本文将分为以下几个部分: 了解3D旋转透视效果的基本概念 使用transform属性实现3D旋转透视 使用perspective属性控制透视效果 案例演示 3D旋转透视的基本概念 3D旋转透视指的是,将一个元素在三维空间内进行旋转,并让它看起来像…

    css 2023年6月10日
    00
  • BootStrap入门教程(一)之可视化布局

    《Bootstrap入门教程(一)之可视化布局》是一篇介绍Bootstrap框架基础可视化布局的入门教程。本文将详细讲解什么是Bootstrap框架以及如何使用它快速构建网站的布局,并提供两个实例说明。 Bootstrap框架简介 什么是Bootstrap? Bootstrap是一款免费、开源的前端框架,它基于HTML、CSS和JavaScript。Boot…

    css 2023年6月10日
    00
  • CSS Sprites 圆角制作教程

    CSS Sprites 圆角制作教程 CSS Sprites是一种优化Web页面性能的技术,可以将多个小图片合并成一张大图片,减少HTTP请求次数,从而提高页面加载速度。本攻略将详细讲解如何使用CSS Sprites制作圆角效果,包括基本原理、制作方法和示例说明。 1. 基本原理 CSS Sprites的基本原理是将多个小图片合并成一张大图片,然后使用CSS…

    css 2023年5月18日
    00
  • XHTML下css+div布局总结 超强推荐

    标题 XHTML下CSS+DIV布局总结 超强推荐 简介 CSS+DIV布局能够很好地将页面结构和样式分离。说白了,相比较于以前使用 HTML 表格或是居中结构来排版,使用CSS+DIV布局就可以在排版时减少很多不必要的 HTML 标签和代码,使得代码更加简洁。下面为大家总结一下在 XHTML 下 CSS+DIV 布局的过程与事项。 思路 1. XHTML …

    css 2023年6月10日
    00
  • css3 利用transform打造走动的2D时钟

    下面是“CSS3 利用 Transform 打造走动的 2D 时钟”的完整攻略: 1. 开始之前 在开始之前,请确保你具备以下知识: HTML 和 CSS 的基础知识 CSS3 Transform 属性的理解 2. 准备工作 首先,编写 HTML 代码: <div class="clock"> <div class=&q…

    css 2023年6月11日
    00
  • 标记语言——打印样式

    标记语言是一种用于描述文档结构和内容的编程语言,常用于网页设计和排版。其中,打印样式即指对文档进行打印时所需要的样式设定。 在Markdown中,打印样式可以通过CSS(Cascading Style Sheets,层叠样式表)来统一设置文档中的格式。以下是两条示例说明: 在Markdown中使用CSS CSS可以通过在Markdown文件中插入<st…

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部