javascript实现简单页面倒计时

下面是关于“javascript实现简单页面倒计时”的完整攻略。

1. 倒计时的基本概念

倒计时(Countdown)是指从一个固定时间向后计数,时间到了则触发一些既定事件的过程。在网页开发中,常见的用途包括限时抢购、秒杀活动、节假日倒计时等。

2. 倒计时的实现步骤

实现一个简单的倒计时,需要进行以下几个步骤:

2.1 计算时间差

首先,我们需要确定两个固定的时间点:当前时间和目标时间,然后用目标时间减去当前时间,得到时间差。

var now = new Date();        // 获取当前时间
var targetTime = new Date("2022/01/01 00:00:00");    // 设置目标时间
var diff = targetTime - now;    // 计算时间差,单位为毫秒

2.2 将时间差转换为友好的显示格式

接下来,我们需要将时间差转换为友好的使用方式,即将时间差转换为天数、小时数、分钟数和秒数。

var days = Math.floor(diff / (24 * 3600 * 1000));    // 计算天数
var hours = Math.floor(diff / (3600 * 1000)) - (days * 24);    // 计算小时
var minutes = Math.floor(diff / (60 * 1000)) - (days * 24 * 60) - (hours * 60);    // 计算分钟
var seconds = Math.floor(diff / 1000) - (days * 24 * 60 * 60) - (hours * 60 * 60) - (minutes * 60);    // 计算秒数

2.3 更新显示

最后,我们需要将计算出的天数、小时数、分钟数和秒数,显示在页面中。

document.getElementById("timer").innerHTML =
    "距离目标时间还有: " +
    days + " 天 " +
    hours + " 小时 " +
    minutes + " 分钟 " +
    seconds + " 秒 ";

3. 示例说明

3.1 示例1

下面是一个简单的示例,实现了倒计时的功能。

<!DOCTYPE html>
<html>
<head>
    <title>倒计时示例</title>
    <meta charset="UTF-8">
    <script>
        //  计算时间差
        var now = new Date();
        var targetTime = new Date("2022/01/01 00:00:00");
        var diff = targetTime - now;

        //  将时间差转换为友好的显示格式
        var days = Math.floor(diff / (24 * 3600 * 1000));
        var hours = Math.floor(diff / (3600 * 1000)) - (days * 24);
        var minutes = Math.floor(diff / (60 * 1000)) - (days * 24 * 60) - (hours * 60);
        var seconds = Math.floor(diff / 1000) - (days * 24 * 60 * 60) - (hours * 60 * 60) - (minutes * 60);

        //  更新显示
        setInterval(function () {
            now = new Date();
            diff = targetTime - now;
            days = Math.floor(diff / (24 * 3600 * 1000));
            hours = Math.floor(diff / (3600 * 1000)) - (days * 24);
            minutes = Math.floor(diff / (60 * 1000)) - (days * 24 * 60) - (hours * 60);
            seconds = Math.floor(diff / 1000) - (days * 24 * 60 * 60) - (hours * 60 * 60) - (minutes * 60);
            document.getElementById("timer").innerHTML =
                "距离目标时间还有: " +
                days + " 天 " +
                hours + " 小时 " +
                minutes + " 分钟 " +
                seconds + " 秒 ";
        }, 1000)
    </script>
</head>
<body>
<div id="timer"></div>
</body>
</html>

3.2 示例2

下面是另一个示例,实现了倒计时的效果,并实现了超过目标时间后的提示文本。

<!DOCTYPE html>
<html>
<head>
    <title>倒计时示例</title>
    <meta charset="UTF-8">
    <script>
        //  计算时间差
        var now = new Date();
        var targetTime = new Date("2021/11/01 00:00:00");
        var diff = targetTime - now;

        //  将时间差转换为友好的显示格式
        var days = Math.floor(diff / (24 * 3600 * 1000));
        var hours = Math.floor(diff / (3600 * 1000)) - (days * 24);
        var minutes = Math.floor(diff / (60 * 1000)) - (days * 24 * 60) - (hours * 60);
        var seconds = Math.floor(diff / 1000) - (days * 24 * 60 * 60) - (hours * 60 * 60) - (minutes * 60);

        //  更新显示,并提示超时
        setInterval(function () {
            now = new Date();
            diff = targetTime - now;
            days = Math.floor(diff / (24 * 3600 * 1000));
            hours = Math.floor(diff / (3600 * 1000)) - (days * 24);
            minutes = Math.floor(diff / (60 * 1000)) - (days * 24 * 60) - (hours * 60);
            seconds = Math.floor(diff / 1000) - (days * 24 * 60 * 60) - (hours * 60 * 60) - (minutes * 60);

            var timerText;

            if (diff <= 0) {
                timerText = "时间已到!";
            } else {
                timerText = "距离目标时间还有: " +
                    days + " 天 " +
                    hours + " 小时 " +
                    minutes + " 分钟 " +
                    seconds + " 秒 ";
            }

            document.getElementById("timer").innerHTML = timerText;
        }, 1000)
    </script>
</head>
<body>
<div id="timer"></div>
</body>
</html>

以上就是“javascript实现简单页面倒计时”的完整攻略,希望能对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript实现简单页面倒计时 - Python技术站

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

相关文章

  • JS实现时间格式化的方式汇总

    让我来为你详细讲解如何实现JavaScript时间格式化。 1. 背景 在日常编程中,我们常常需要将时间戳转换为可读的时间格式,比如将 1616685660000 转换为 2021-03-25 16:14:20 的形式。JavaScript提供了以下几种方式来实现时间格式化: 使用原生JavaScript Date对象的 toLocaleString() 方…

    JavaScript 2023年5月27日
    00
  • JavaScript常见手写题超全汇总

    JavaScript常见手写题超全汇总 1. 前言 在面试以及实际工作中,常常需要手写一些核心的JavaScript代码。这些手写题目可能比较简单、或者非常复杂,但是它们都对JavaScript基础功夫有一个更加深刻的理解。 在本篇文章中,我们将会汇总一些常见的JavaScript手写题,包括但不限于:数组去重、深拷贝、Promise实现、函数柯里化等等。 …

    JavaScript 2023年5月18日
    00
  • javascript ajax获取信息功能代码

    接下来我将详细讲解“JavaScript AJAX获取信息功能代码”的完整攻略。在学习 AJAX 前,需要先理解一下 AJAX 的概念:AJAX 即 Asynchronous JavaScript and XML,使用 AJAX 技术可以在不重新加载整个网页的情况下,实现与服务器端的异步数据交互和局部刷新。 在下面的攻略中,我们将使用纯 JavaScript…

    JavaScript 2023年6月11日
    00
  • JavaScript实现url参数转成json形式

    当我们使用JavaScript处理URL的参数时,有时候需要将URL的参数转换为JSON形式来进行处理。下面我将为您提供JavaScript实现URL参数转为JSON的完整攻略: 利用window.location.search获取URL参数部分; 将URL参数部分解析为键值对对象; 将对象转换为JSON格式。 下面是详细步骤的代码实现: 1. 利用wind…

    JavaScript 2023年5月27日
    00
  • nginx cookie有效期讨论小结

    详细讲解“nginx cookie有效期讨论小结”的完整攻略如下: 概述 讨论nginx cookie有效期一直是一个比较热门的话题。一个cookie的有效期决定了它能被浏览器保存的时间。在使用nginx的时候,如何灵活地设置cookie的有效期尤为重要。本文将对cookie有效期相关的知识点进行整理和总结。 设置cookie有效期 在nginx中设置coo…

    JavaScript 2023年6月11日
    00
  • JS实现的汉字与Unicode码相互转化功能分析

    JS实现的汉字与Unicode码相互转化功能分析 概述 汉字和Unicode码相互转换是前端开发中常用的功能之一。汉字是人类语言和文字的精华,其中汉字的使用非常广泛,而Unicode码则是电脑中汉字的对应编码,当我们需要将汉字和Unicode码相互转换时,用JS实现是一种极其方便且高效的方法。 汉字转Unicode码 在JS中,如果需要将汉字转换为Unico…

    JavaScript 2023年5月19日
    00
  • webpack实现热更新(实施同步刷新)

    webpack实现热更新是在开发过程中非常常见的需求,它可以在代码修改后自动刷新页面,使开发人员能够更方便地查看效果。下面是实现webpack热更新的完整攻略: 1. 配置webpack-dev-server webpack-dev-server是webpack中的一个开发服务器,它可以实现热更新,而我们只需要在启动webpack-dev-server时添加…

    JavaScript 2023年6月1日
    00
  • 深入理解JavaScript中的Base64编码字符串

    深入理解JavaScript中的Base64编码字符串 什么是Base64编码字符串? Base64编码是一种将二进制数据转换为可打印ASCII字符的编码方式,其常用于在网络上传输数据,例如将图片或音频文件转换为Base64编码字符串,然后将其作为字符串传输。 Base64编码将每3个字节转换为4个ASCII字符,字节不足时会进行填充。Base64编码表中包…

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