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 相关文章推荐
jquery仿京东导航/仿淘宝商城左侧分类导航下拉菜单效果
Apr 24 Javascript
HTML Color Picker(js拾色器效果)
Aug 27 Javascript
原生javaScript做得动态表格(注释写的很清楚)
Dec 29 Javascript
JS制作简单的三级联动
Mar 18 Javascript
js jquery获取当前元素的兄弟级 上一个 下一个元素
Sep 01 Javascript
JS基于clipBoard.js插件实现剪切、复制、粘贴
May 03 Javascript
谈谈JS中常遇到的浏览器兼容问题和解决方法
Dec 17 Javascript
JavaScript获取tr td 的三种方式全面总结(推荐)
Aug 15 Javascript
vue获取当前激活路由的方法
Mar 17 Javascript
js实现图片粘贴到网页
Dec 06 Javascript
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
Feb 04 jQuery
利用javaScript处理常用事件详解
Apr 14 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面向对象中常用的关键字和魔术方法
2017/02/04 PHP
javascript实现划词标记+划词搜索功能
2007/03/06 Javascript
图片onload事件触发问题解决方法
2011/07/31 Javascript
JavaScript call apply使用 JavaScript对象的方法绑定到DOM事件后this指向问题
2011/09/28 Javascript
Javascript中判断变量是数组还是对象(array还是object)
2013/08/14 Javascript
JS常用正则表达式总结
2013/11/12 Javascript
javascript中apply和call方法的作用及区别说明
2014/02/14 Javascript
node.js中的fs.lchmodSync方法使用说明
2014/12/16 Javascript
transport.js和jquery冲突问题的解决方法
2015/02/10 Javascript
jQuery使用$.get()方法从服务器文件载入数据实例
2015/03/25 Javascript
avalonjs实现仿微博的图片拖动特效
2015/05/06 Javascript
js时钟翻牌效果实现代码分享
2020/07/31 Javascript
react+redux的升级版todoList的实现
2017/12/18 Javascript
vue2.0 实现页面导航提示引导的方法
2018/03/13 Javascript
Angular异步变同步处理方法
2018/08/13 Javascript
ios设备中angularjs无法改变页面title的解决方法
2018/09/13 Javascript
JS面试题大坑之隐式类型转换实例代码
2018/10/14 Javascript
JQuery的加载和选择器用法简单示例
2019/05/13 jQuery
Python编程实现生成特定范围内不重复多个随机数的2种方法
2017/04/14 Python
python3.x实现发送邮件功能
2018/05/22 Python
python使用matplotlib模块绘制多条折线图、散点图
2020/04/26 Python
Python中使用遍历在列表中添加字典遇到的坑
2019/02/27 Python
对YOLOv3模型调用时候的python接口详解
2019/08/26 Python
Python 读取 YUV(NV12) 视频文件实例
2019/12/09 Python
使用OpenCV校准鱼眼镜头的方法
2020/11/26 Python
美国著名的户外用品品牌:L.L.Bean
2018/01/05 全球购物
环境科学专业大学生自荐信格式
2013/09/21 职场文书
结婚典礼证婚词
2014/01/08 职场文书
大学生应聘求职信
2014/05/26 职场文书
本科毕业生应聘自荐信范文
2014/06/26 职场文书
就业协议书盖章的注意事项
2014/09/28 职场文书
海南召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
安全教育第一课观后感
2015/06/17 职场文书
羊脂球读书笔记
2015/06/30 职场文书
母亲节主题班会
2015/08/14 职场文书
生日寿星公答谢词
2015/09/29 职场文书