Moment.js实现多个同时倒计时


Posted in Javascript onAugust 26, 2019

本文实例为大家分享了Moment.js实现多个同时倒计时的具体代码,供大家参考,具体内容如下

第一步:

首先项目中需要引入moment.js。安装方法如下:

bower install moment --save # bower
npm install moment --save  # npm

安装成功之后引入到项目中:

import moment from 'moment'

第二步:

在mounted中添加一个方法:

//定义一个立即执行的函数
      (function () {
        var Ticts=function Ticts() {
          this.ticts = {};
        };
        Ticts.prototype.createTicts=function(id, dealline) {
          var ticts=this;
          var time=moment(dealline).diff(moment());
          var _ticts=this.ticts[id] = {
            dealine: dealline
            , id: id
            , time: time
            , interval: setInterval(function () {
              var t = null;
              var d = null;
              var h = null;
              var m = null;
              var s = null;
              //js默认时间戳为毫秒,需要转化成秒
              t = _ticts.time / 1000;
              d = Math.floor(t / (24 * 3600));
              h = Math.floor((t - 24 * 3600 * d) / 3600);
              m = Math.floor((t - 24 * 3600 * d - h * 3600) / 60);
              s = Math.floor((t - 24 * 3600 * d - h * 3600 - m * 60));
              //这里可以做一个格式化的处理,甚至做毫秒级的页面渲染,基于DOM操作,太多个倒计时一起会导致页面性能下降
              document.getElementById(id).innerHTML = d + '天' + h + '小时' + m + '分钟' + s + '秒';
              _ticts.time -= 1000;
              if (_ticts.time < 0)
                ticts.deleteTicts(id);//判断是否到期,到期后自动删除定时器
            }, 1000)
          }
        };
        Ticts.prototype.deleteTicts = function(id) {
          clearInterval(this.ticts[id].interval);//清楚定时器的方法,需要定时器的指针作为参数传入clearInterval
          delete this.ticts[id];//通过delete的方法删除对象中的属性
        };
        //新建一个ticts对象,放到window全局函数中,那么在html页面是(或者其他js文件)可以访问该对象
        window.Ticts=new Ticts();
      })();
 
      Ticts.createTicts("time1","2019-06-07 00:00:00");
      Ticts.createTicts("time2","2019-09-13 00:00:00");
      Ticts.createTicts("time3","2019-10-01 00:00:00");

第三步:

添加标签展示倒计时内容

<div><span>距离端午假期还有:</span><span id="time1"></span></div>
<br>
<div><span>距离中秋假期还有:</span><span id="time2"></span></div>
<br>
<div><span>距离国庆假期还有:</span><span id="time3"></span></div>

最终效果:

Moment.js实现多个同时倒计时

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Extjs 3.3切换tab隐藏相应工具栏出现空白解决
Apr 02 Javascript
jQuery 2.0.3 源码分析之core(一)整体架构
May 27 Javascript
14个有用的Jquery技巧分享
Jan 08 Javascript
jquery 插件实现瀑布流图片展示实例
Apr 03 Javascript
跟我学习javascript解决异步编程异常方案
Nov 23 Javascript
AngularJS  双向数据绑定详解简单实例
Oct 20 Javascript
详解vue之页面缓存问题(基于2.0)
Jan 10 Javascript
详谈jQuery Ajax(load,post,get,ajax)的用法
Mar 02 Javascript
JS运动改变单物体透明度的方法分析
Jan 23 Javascript
在vscode中统一vue编码风格的方法
Feb 22 Javascript
在Layui中操作数据表格,给指定单元格添加事件示例
Oct 26 Javascript
Node.js 在本地生成日志文件的方法
Feb 07 Javascript
vue获取验证码倒计时组件
Aug 26 #Javascript
seajs和requirejs模块化简单案例分析
Aug 26 #Javascript
JavaScript实现身份证验证代码实例
Aug 26 #Javascript
基于vue、react实现倒计时效果
Aug 26 #Javascript
tweenjs缓动算法的使用实例分析
Aug 26 #Javascript
JS实现利用闭包判断Dom元素和滚动条的方向示例
Aug 26 #Javascript
JS实现提示效果弹出及延迟隐藏的功能
Aug 26 #Javascript
You might like
介绍一些PHP判断变量的函数
2012/04/24 PHP
PHPstorm快捷键(分享)
2017/07/17 PHP
PHP实现的mongoDB数据库操作类完整实例
2018/04/10 PHP
PHP实现数组转JSon和JSon转数组的方法示例
2018/06/14 PHP
原生PHP实现导出csv格式Excel文件的方法示例【附源码下载】
2019/03/07 PHP
JavaScript保留两位小数的2个自定义函数
2014/05/05 Javascript
JavaScript中setUTCFullYear()方法的使用简介
2015/06/12 Javascript
js实现ctrl+v粘贴上传图片(兼容chrome、firefox、ie11)
2016/03/09 Javascript
图文详解Heap Sort堆排序算法及JavaScript的代码实现
2016/05/04 Javascript
jQuery插件ajaxFileUpload异步上传文件
2016/10/19 Javascript
基于Vuejs框架实现翻页组件
2020/06/29 Javascript
js date 格式化
2017/02/15 Javascript
js实现颜色阶梯渐变效果(Gradient算法)
2017/03/21 Javascript
JavaScript基于扩展String实现替换字符串中index处字符的方法
2017/06/13 Javascript
轻松玩转BootstrapTable(后端使用SpringMVC+Hibernate)
2017/09/06 Javascript
微信小程序使用map组件实现检索(定位位置)周边的POI功能示例
2019/01/23 Javascript
Vue 递归多级菜单的实例代码
2019/05/05 Javascript
[01:33:14]LGD vs VP Supermajor 败者组决赛 BO3 第二场 6.10
2018/07/04 DOTA
Python设计模式之代理模式实例
2014/04/26 Python
Python素数检测实例分析
2015/06/15 Python
PyCharm设置SSH远程调试的方法
2018/07/17 Python
tensorflow 打印内存中的变量方法
2018/07/30 Python
Python3显示当前时间、计算时间差及时间加减法示例代码
2019/09/07 Python
关于Tensorflow 模型持久化详解
2020/02/12 Python
python-图片流传输的思路及示例(url转换二维码)
2020/12/21 Python
将SVG图引入到HTML页面的实现
2019/09/20 HTML / CSS
黑猩猩商店:The Chimp Store
2020/02/12 全球购物
马德里运动鞋商店:Nigra Mercato
2020/02/16 全球购物
财务助理岗位职责范本
2014/10/09 职场文书
教师党员批评与自我批评发言稿
2014/10/15 职场文书
海洋天堂观后感
2015/06/05 职场文书
基于Python实现的购物商城管理系统
2021/04/27 Python
解决Pytorch中关于model.eval的问题
2021/05/22 Python
关于JavaScript 中 if包含逗号表达式
2021/11/27 Javascript
在NumPy中深拷贝和浅拷贝相关操作的定义和背后的原理
2022/04/14 Python
kubernetes集群搭建Zabbix监控平台的详细过程
2022/07/07 Servers