jQuery实现最简单实用的分秒倒计时

下面是jQuery实现最简单实用的分秒倒计时的完整攻略。

准备工作

  1. 首先需要引入jQuery库文件,可以从官网(https://jquery.com/)上下载或使用CDN,例如:
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
  1. 然后需要在HTML文件中创建一个用于显示倒计时的容器,例如:
<div id="countdown"></div>

实现方法

  1. 使用jQuery的setInterval()函数实现计时器功能。这个函数可以每隔一定时间执行一次指定的代码块。在此过程中,我们可以使用JavaScript的Date对象获取当前时间,再与指定的结束时间相比较,来计算出还剩下多少时间。例如:
setInterval(function() {
  var now = new Date().getTime();
  var end_time = new Date("2022-01-01T00:00:00Z").getTime();
  var distance = end_time - now;
  // 计算倒计时时间
}, 1000); // 每隔1秒钟执行一次
  1. 根据剩余时间,计算出还剩下多少天、小时、分钟和秒数。例如:
var days = Math.floor(distance / (1000 * 60 * 60 * 24)); // 计算剩余天数
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); // 计算剩余小时数
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)); // 计算剩余分钟数
var seconds = Math.floor((distance % (1000 * 60)) / 1000); // 计算剩余秒数
  1. 将计算出来的时间显示在HTML页面中。例如:
$("#countdown").html(days + "天 " + hours + "小时 "
+ minutes + "分钟 " + seconds + "秒 ");
  1. 如果倒计时已经结束,清除计时器并显示提示信息。例如:
if (distance < 0) {
  clearInterval(interval);
  $("#countdown").html("倒计时已结束!");
}
  1. 完整代码示例:
<!DOCTYPE html>
<html>
<head>
    <title>jQuery实现最简单实用的分秒倒计时</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>
    <div id="countdown"></div>
    <script>
        var interval = setInterval(function() {
            var now = new Date().getTime();
            var end_time = new Date("2022-01-01T00:00:00Z").getTime();
            var distance = end_time - now;

            var days = Math.floor(distance / (1000 * 60 * 60 * 24));
            var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
            var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
            var seconds = Math.floor((distance % (1000 * 60)) / 1000);

            $("#countdown").html(days + "天 " + hours + "小时 "
            + minutes + "分钟 " + seconds + "秒 ");

            if (distance < 0) {
                clearInterval(interval);
                $("#countdown").html("倒计时已结束!");
            }
        }, 1000);
    </script>
</body>
</html>

示例说明

以下是两个示例说明:

示例1

假设需要在网站首页上倒计时到2022年1月1日。可以在HTML文件中添加如下代码:

<div id="countdown"></div>

然后在JavaScript文件中添加如下代码:

var interval = setInterval(function() {
    var now = new Date().getTime();
    var end_time = new Date("2022-01-01T00:00:00Z").getTime();
    var distance = end_time - now;

    var days = Math.floor(distance / (1000 * 60 * 60 * 24));
    var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
    var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
    var seconds = Math.floor((distance % (1000 * 60)) / 1000);

    $("#countdown").html(days + "天 " + hours + "小时 "
    + minutes + "分钟 " + seconds + "秒 ");

    if (distance < 0) {
        clearInterval(interval);
        $("#countdown").html("倒计时已结束!");
    }
}, 1000);

示例2

假设需要在网站的产品详情页面上根据不同的产品显示不同的倒计时时间。可以在HTML文件中为每个产品添加一个标识ID和显示倒计时的容器,例如:

<div id="product1-countdown"></div>
<div id="product2-countdown"></div>
<div id="product3-countdown"></div>

然后在JavaScript文件中使用不同的ID和结束时间来实现不同的计时器,例如:

// 产品1倒计时
var interval1 = setInterval(function() {
    var now = new Date().getTime();
    var end_time = new Date("2022-03-01T00:00:00Z").getTime();
    var distance = end_time - now;

    var days = Math.floor(distance / (1000 * 60 * 60 * 24));
    var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
    var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
    var seconds = Math.floor((distance % (1000 * 60)) / 1000);

    $("#product1-countdown").html(days + "天 " + hours + "小时 "
    + minutes + "分钟 " + seconds + "秒 ");

    if (distance < 0) {
        clearInterval(interval1);
        $("#product1-countdown").html("倒计时已结束!");
    }
}, 1000);

// 产品2倒计时
var interval2 = setInterval(function() {
    var now = new Date().getTime();
    var end_time = new Date("2022-04-01T00:00:00Z").getTime();
    var distance = end_time - now;

    var days = Math.floor(distance / (1000 * 60 * 60 * 24));
    var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
    var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
    var seconds = Math.floor((distance % (1000 * 60)) / 1000);

    $("#product2-countdown").html(days + "天 " + hours + "小时 "
    + minutes + "分钟 " + seconds + "秒 ");

    if (distance < 0) {
        clearInterval(interval2);
        $("#product2-countdown").html("倒计时已结束!");
    }
}, 1000);

// 产品3倒计时
var interval3 = setInterval(function() {
    var now = new Date().getTime();
    var end_time = new Date("2022-05-01T00:00:00Z").getTime();
    var distance = end_time - now;

    var days = Math.floor(distance / (1000 * 60 * 60 * 24));
    var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
    var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
    var seconds = Math.floor((distance % (1000 * 60)) / 1000);

    $("#product3-countdown").html(days + "天 " + hours + "小时 "
    + minutes + "分钟 " + seconds + "秒 ");

    if (distance < 0) {
        clearInterval(interval3);
        $("#product3-countdown").html("倒计时已结束!");
    }
}, 1000);

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:jQuery实现最简单实用的分秒倒计时 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • JQuery选择器特辑 详细小结

    「JQuery选择器特辑 详细小结」这篇文章主要是介绍 jQuery 的选择器,包括基本选择器和层次选择器、属性选择器、过滤选择器、表单选择器等,以及选择器的使用方法和注意事项。 首先,基本选择器主要是通过元素名称、ID 或 class 属性来选择元素,形式如下: 元素选择器:通过元素名称来选择元素,例如 p 选择所有的 <p> 元素。 ID 选…

    jquery 2023年5月28日
    00
  • jQWidgets jqxComboBox popupZIndex属性

    以下是关于“jQWidgets jqxComboBox popupZIndex属性”的完整攻略,包含两个示例说明: 简介 jqxComboBox 控件提供了 popupZIndex 属性,该属性用于设置下拉列表的 z-index 值。通过使用 popupZIndex 属性,我们可以控制下拉列表的层叠顺序以便更好地控制用户体验。 详细攻略 以下是 jqxCom…

    jquery 2023年5月11日
    00
  • jQWidgets jqxToolBar minWidth属性

    以下是关于 jQWidgets jqxToolBar 组件中 minWidth 属性的详细攻略。 jQWidgets jqxToolBar minWidth 属性 jQWidgets jqxToolBar 组件 minWidth 属性用于设置工具栏的最小宽度。该属性接受数字或字符串值,表示工具栏的最小宽度。默认值为 30。 语法 $(‘#toolbar’).…

    jquery 2023年5月11日
    00
  • jQWidgets jqxChart title属性

    jQWidgets 是一个流行的 JavaScript UI 库,提供了许多可定制的 UI 组件。其中一个组件是 jqxChart,它是用于绘制图表的组件。jqxChart 提供多个属性,其中之一是 title。下面是关于 jqxChart 的 title 属性的详细攻略: title 属性概述 title 属性用于设置 jqxChart 组件的标题。该属性…

    jquery 2023年5月11日
    00
  • jQuery Plupload上传插件的使用

    下面是“jQuery Plupload上传插件的使用”的完整攻略: jQuery Plupload上传插件的使用 介绍 jQuery Plupload是一个支持HTML5,Flash,Silverlight,HTML4等多种上传方式的插件。它可以帮助我们实现更多样化的文件上传交互效果,并支持分块上传、多文件上传、预览上传等功能。 安装和引用 1.下载jQue…

    jquery 2023年5月27日
    00
  • jQWidgets jqxDropDownList dropDownHorizontalAlignment属性

    jQWidgets jqxDropDownList dropDownHorizontalAlignment属性详解 jQWidgets是一个基于jQuery的UI组件库,提供了丰富UI组件和工具包。jqxDropDownList是Widgets组件的组件。本文将详细介绍jqxDropDownList的dropDownHorizontalAlignment属性…

    jquery 2023年5月10日
    00
  • JS简单实现点击跳转登陆邮箱功能的方法

    下面是JS简单实现点击跳转登陆邮箱功能的方法的完整攻略: 步骤一:添加按钮 首先在HTML页面上添加一个按钮,代码如下: <button id="loginBtn">Login to Email</button> 步骤二:添加事件监听器 为刚才添加的按钮添加一个click事件监听器并指定它的处理函数,代码如下: d…

    jquery 2023年5月27日
    00
  • 防止重复发送Ajax请求的解决方案

    防止重复发送Ajax请求是一种常见的前端性能和用户体验优化技巧。以下是完整的解决方案攻略: 1. 方案说明 1.1. 问题描述 在进行Ajax请求时,有可能用户会多次触发同一个Ajax请求,例如重复点击搜索按钮或者多次提交表单。这种情况下,如果每次都发送Ajax请求,会占用额外的带宽和服务器资源,同时也会影响用户体验。 1.2. 解决方案 为了解决上述问题,…

    jquery 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部