Javascript倒计时代码

yizhihongxing

JavaScript 倒计时能够给网站或者应用程序带来极佳的用户体验,它通常用于页面的时间限制、登录等场景。下面是 JavaScript 倒计时的完整攻略。

步骤1:创建 HTML 页面

首先,我们需要在 HTML 页面中添加一个画布元素 canvas 以及 JavaScript 倒计时所需要的 HTML 元素:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>JavaScript 倒计时</title>
</head>
<body>
  <canvas id="myCanvas" width="200" height="200"></canvas>
  <div id="countdown"></div>
  <script src="countdown.js"></script>
</body>
</html>

这个 HTML 页面中包含了一个画布元素和一个用于放置倒计时的 div 元素。

步骤2:创建 JavaScript 文件

接下来,我们需要创建一个 JavaScript 文件,用于处理倒计时相关的逻辑。

function createCountDown(endtime, elementId) {
  var countdown = document.getElementById(elementId);
  var timeinterval = setInterval(function() {
    var t = getTimeRemaining(endtime);
    var minutes = t.minutes;
    var seconds = t.seconds;
    countdown.innerHTML = '倒计时剩余时间:' + minutes + ' 分钟 ' + seconds + ' 秒';
    if (t.total <= 0) {
      clearInterval(timeinterval);
      countdown.innerHTML = '倒计时结束';
    }
  }, 1000);
}

function getTimeRemaining(endtime) {
  var t = Date.parse(endtime) - Date.parse(new Date());
  var seconds = Math.floor((t / 1000) % 60);
  var minutes = Math.floor((t / 1000 / 60) % 60);
  return {
    'total': t,
    'minutes': minutes,
    'seconds': seconds
  };
}

createCountDown('2022-01-01T00:00:00', 'countdown');

这个 JavaScript 文件包含了两个主要的函数:createCountDowngetTimeRemaining

getTimeRemaining 函数用于计算剩余的时间,接受一个参数 endtime 表示倒计时结束时间,返回一个包含剩余时间 total、分钟数 minutes 和秒数 seconds 的对象。

createCountDown 函数用于创建倒计时,它接收两个参数 endtime 和 elementId,分别表示倒计时结束时间和用于显示倒计时的元素 ID。函数内部先获取到需要显示倒计时的元素,然后通过 setInterval 函数每隔一秒钟获取一次剩余时间,然后把剩余时间显示到页面上。

步骤3:添加画布动画

最后,为了增强页面的交互性,我们可以添加一个画布动画,让数字的变化更加平滑和生动。

function createCountDown(endtime, elementId, canvasId) {
  var countdown = document.getElementById(elementId);
  var canvas = document.getElementById(canvasId);
  var context = canvas.getContext('2d');
  var timeinterval = setInterval(function() {
    var t = getTimeRemaining(endtime);
    var minutes = t.minutes;
    var seconds = t.seconds;
    countdown.innerHTML = '倒计时剩余时间:' + minutes + ' 分钟 ' + seconds + ' 秒';
    drawCanvas(context, canvas, minutes, seconds);
    if (t.total <= 0) {
      clearInterval(timeinterval);
      countdown.innerHTML = '倒计时结束';
    }
  }, 1000);
}

function drawCanvas(context, canvas, minutes, seconds) {
  var radius = canvas.height / 2;
  context.beginPath();
  context.arc(radius, radius, radius - 5, 0, 2 * Math.PI);
  context.fillStyle = 'white';
  context.fill();
  context.lineWidth = 5;
  context.strokeStyle = '#345';
  context.stroke();
  context.font = '24px Arial';
  context.fillStyle = '#345';
  context.textAlign = 'center';
  context.textBaseline = 'middle';
  context.fillText(formatTime(minutes) + ':' + formatTime(seconds), radius, radius);
}

function formatTime(time) {
  return time < 10 ? '0' + time : time;
}

createCountDown('2022-01-01T00:00:00', 'countdown', 'myCanvas');

这个修改后的 JavaScript 文件把倒计时显示到了画布上,并且添加了一些动画效果。其中,drawCanvas 函数用于绘制画布内容,包括外边界、倒计时数字和时间文本。formatTime 函数用于格式化时间,将不足两位数的时间补齐。在 createCountDown 函数中,我们加入了画布元素的获取、绘制和清空操作。

示例1:倒计时1分钟

接下来,我们演示一个倒计时1分钟的例子。

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>JavaScript 倒计时示例1</title>
</head>
<body>
  <canvas id="myCanvas" width="200" height="200"></canvas>
  <div id="countdown"></div>
  <script src="countdown.js"></script>
  <script>
    createCountDown(new Date(Date.now() + 60 * 1000), 'countdown', 'myCanvas');
  </script>
</body>
</html>

这个 HTML 页面中的 JavaScript 代码用于创建一个倒计时1分钟的计时器。我们通过传入一个 Date 实例来指定倒计时结束时间。

示例2:倒计时10秒

现在,我们演示一个倒计时10秒的例子,但这一次我们只在 DIV 元素中显示倒计时,不需要画布元素的动画效果。

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>JavaScript 倒计时示例2</title>
</head>
<body>
  <div id="countdown"></div>
  <script src="countdown.js"></script>
  <script>
    createCountDown(new Date(Date.now() + 10 * 1000), 'countdown');
  </script>
</body>
</html>

这个 HTML 页面中的 JavaScript 代码用于创建一个倒计时10秒的计时器,只需传入倒计时结束时间和 DIV 元素的 ID。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Javascript倒计时代码 - Python技术站

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

相关文章

  • jQuery使用cookie与json简单实现购物车功能

    下面是详细讲解“jQuery使用cookie与json简单实现购物车功能”的完整攻略: 简介 购物车是电商网站必不可少的功能,通过购物车,用户可以将自己关心的商品加入到购物车中,然后在统一的界面进行管理、筛选、结算等操作。本攻略将讲解如何使用 jQuery、JSON、Cookie 等技术实现购物车功能。 步骤讲解 步骤1:购物车结构设计 首先,我们需要考虑购…

    JavaScript 2023年5月27日
    00
  • js获取url中的参数且参数为中文时通过js解码

    获取URL中的参数是前端开发中经常需要处理的场景之一。但如果参数中存在中文,获取并显示则需要特殊处理。 以下是获取URL参数且参数为中文时的完整攻略: 1.获取URL中的参数 我们可以使用JS内置对象window.location来获取当前页面的地址: var url = window.location.href; 接下来我们需要从url中解析出参数,一种常…

    JavaScript 2023年5月19日
    00
  • JS 两个字符串时间的天数差计算

    当我们需要计算两个字符串表示的时间之间相差的天数时,我们需要先将字符串转换为日期对象,比较两个日期对象之间的天数差。 以下是详细的步骤: 步骤一:将字符串转换为日期对象 使用Date()方法将字符串转换为日期对象,语法如下: var date1 = new Date(‘2019-01-01’); var date2 = new Date(‘2019-01-0…

    JavaScript 2023年5月27日
    00
  • vue 弹窗时 监听手机返回键关闭弹窗功能(页面不跳转)

    实现Vue弹窗时,监听手机返回键关闭弹窗功能可以通过以下步骤完成: 在弹窗组件中,监听手机返回键的按下事件,如果弹窗处于打开状态,则关闭弹窗,否则执行默认的页面返回事件。具体代码如下: <template> <div> <button @click="openModal">打开弹窗</button…

    JavaScript 2023年6月11日
    00
  • C#的WebBrowser的操作与注意事项介绍

    下面是关于“C#的WebBrowser的操作与注意事项介绍”的完整攻略。 1. WebBrowser的基本介绍 WebBrowser是C#中实现浏览器功能的核心控件,它支持访问Web站点、显示HTML和XML文档以及与服务器进行交互等操作。WebBrowser具有类似Internet Explorer(IE)的特性,在Windows中使用IE内核,因此对于I…

    JavaScript 2023年5月28日
    00
  • JS实现快速比较两个字符串中包含有相同数字的方法

    要实现快速比较两个字符串中包含有相同数字的方法,可以使用 JavaScript 中的正则表达式进行匹配。具体实现可以分为以下步骤: 1. 获取字符串中的数字 使用正则表达式将字符串中的数字提取出来。 const str = "abc1def2ghi3jkl"; const pattern = /\d+/g; const numArray …

    JavaScript 2023年5月28日
    00
  • javascript bom是什么及bom和dom的区别

    BOM(Browser Object Model)是指浏览器对象模型,它提供了一组对象和方法,用于操作浏览器窗口、浏览器历史记录、浏览器地址栏等浏览器本身的属性和方法。而DOM(Document Object Model)是指文档对象模型,它提供了一组对象和方法,用于操作网页上的元素,如获取元素、修改元素样式、添加元素等。 BOM和DOM的区别在于,BOM对…

    JavaScript 2023年6月10日
    00
  • JavaScript编写检测用户所使用的浏览器的代码示例

    JavaScript编写检测用户所使用的浏览器是非常常见的需求。下面我们将详细讲解如何实现此功能。 第一步:编写基本代码 编写基本的JavaScript代码,可以获取用户所使用的浏览器类型及版本号。代码示例如下: var userAgent = navigator.userAgent.toLowerCase(); var browser = { safari…

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