javascript实现简单页面倒计时

yizhihongxing

下面是关于“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日

相关文章

  • Angularjs 创建可复用组件实例代码

    AngularJS 是一个广泛使用的前端框架,其中最重要的概念之一是组件。组件是 AngularJS 中的基本构建块之一,可以帮助我们实现代码的可复用性、可维护性和可测试性。在本文中,我们将讨论在 AngularJS 中如何创建可复用组件实例代码的完整攻略。 创建可复用组件实例的准备工作 在创建可复用组件实例之前,我们需要完成以下准备工作: 确定组件的数据和…

    JavaScript 2023年6月11日
    00
  • javascript 防止刷新,后退,关闭

    防止刷新、后退和关闭网页通常可以使用 JavaScript 实现。以下是标准的 Markdown 格式文本回答。 防止刷新、后退和关闭网页的方法 防止刷新网页 要防止刷新网页,最简单的方法是使用 beforeunload 事件。在页面加载时,添加以下代码: window.addEventListener(‘beforeunload’, function(ev…

    JavaScript 2023年6月11日
    00
  • 简单的js表单验证函数

    下面是“简单的js表单验证函数”完整攻略的具体步骤: 1. 确定需求 在编写表单验证函数之前,需要明确需要验证的表单项和验证规则,以确定函数的参数和返回值。例如: 验证规则:姓名为必填项,只能输入中文字符 函数参数:需要验证的表单项的id或class名 函数返回值:验证通过返回true,验证失败返回false 2. 编写函数 根据需求编写表单验证函数,函数名…

    JavaScript 2023年6月10日
    00
  • ElementUI在实际项目使用步骤详解

    下面我将为你详细讲解“ElementUI在实际项目使用步骤详解”的完整攻略。 入门准备 在使用ElementUI之前,需要在项目中安装ElementUI库,可以使用npm进行安装,具体步骤如下: 第一步:在终端中打开项目目录,并执行以下命令: npm install element-ui -S 第二步:在main.js文件中引入ElementUI库,并注册组…

    JavaScript 2023年6月10日
    00
  • 一起来学习一下JavaScript的事件流

    关于JavaScript事件流,我为大家准备了一份完整攻略,一起来学习一下。 什么是JavaScript事件流 JavaScript事件流是指浏览器中发生事件(如鼠标点击、键盘输入等)时,事件在DOM树结构中按照特定顺序发送和处理的过程。这个过程包含三个阶段:捕获阶段、目标阶段和冒泡阶段。 捕获阶段 在事件到达目标元素之前,从根节点到目标元素之间的所有节点都…

    JavaScript 2023年6月10日
    00
  • js怎么判断是否是数组的六种方法小结

    下面是详细讲解“js怎么判断是否是数组的六种方法小结”的完整攻略。 标题 js怎么判断是否是数组的六种方法小结 正文 在JavaScript中,有许多方法可以判断一个变量是否是数组。下面是六种判断方法的小结。 方法一:使用instanceof 使用instanceof操作符可以判断变量是否是数组。如果变量是数组,返回true,反之返回false。 示例代码:…

    JavaScript 2023年5月27日
    00
  • JavaScript几种形式的树结构菜单

    下面为大家详细讲解 JavaScript 几种形式的树结构菜单的完整攻略。 什么是树结构菜单 树结构菜单是一种常见的用于网站导航或者分类展示的组件。树结构菜单的特点是可以展开、收起某一层级的菜单,同时高亮显示当前选中的菜单项。在前端开发中,我们可以使用 JavaScript 来实现这种树状结构的菜单。 JavaScript 实现树结构菜单的基本思路 在使用 …

    JavaScript 2023年6月11日
    00
  • js 截取或者替换字符串中的数字实现方法

    下面是详细讲解“js 截取或者替换字符串中的数字实现方法”的完整攻略,步骤如下: 1. 利用正则表达式匹配数字 在 JavaScript 中,可以使用正则表达式来匹配字符串中的数字。以下是一个示例代码: const str = "This is 123456 a string with numbers 789"; const number…

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