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图片上下tab切换效果
Mar 18 Javascript
检测input每次的输入是否合法遇到汉字输入就有问题
May 23 Javascript
jQuery获取动态生成的元素示例
Jun 15 Javascript
JavaScript识别网页关键字并进行描红的方法
Nov 09 Javascript
jQuery遍历json的方法(推荐)
Jun 12 Javascript
ASP.NET jquery ajax传递参数的实例
Nov 02 Javascript
Vue.js结合bootstrap实现分页控件
Mar 10 Javascript
JS简单实现点击按钮或文字显示遮罩层的方法
Apr 27 Javascript
jQuery实现简单的Ajax调用功能示例
Feb 15 jQuery
Vue运用transition实现过渡动画
May 06 Javascript
如何测量vue应用运行时的性能
Jun 21 Javascript
微信小程序实现吸顶特效
Jan 08 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 开源AJAX框架14种
2009/08/24 PHP
php 函数使用方法与函数定义方法
2010/05/09 PHP
PHP+Jquery与ajax相结合实现下拉淡出瀑布流效果【无需插件】
2016/05/06 PHP
Laravel使用消息队列需要注意的一些问题
2017/12/13 PHP
javascript 面向对象,实现namespace,class,继承,重载
2009/10/29 Javascript
深入理解JavaScript系列(22):S.O.L.I.D五大原则之依赖倒置原则DIP详解
2015/03/05 Javascript
超精准的javascript验证身份证号的具体实现方法
2015/11/18 Javascript
分享我的jquery实现下拉菜单心的
2015/11/29 Javascript
JS实现放大、缩小及拖拽图片的方法【可兼容IE、火狐】
2016/08/23 Javascript
每个程序员都需要学习 JavaScript 的7个理由小结
2016/09/03 Javascript
纯js实现页面返回顶部的动画(超简单)
2017/08/10 Javascript
解决Jquery下拉框数据动态获取的问题
2018/01/25 jQuery
Web安全之XSS攻击与防御小结
2018/12/13 Javascript
Three.JS实现三维场景
2018/12/30 Javascript
js实现贪吃蛇小游戏(加墙)
2020/07/31 Javascript
在Python的Django框架下使用django-tagging的教程
2015/05/30 Python
关于Python如何避免循环导入问题详解
2017/09/14 Python
django之session与分页(实例讲解)
2017/11/13 Python
基于python 爬虫爬到含空格的url的处理方法
2018/05/11 Python
python requests指定出口ip的例子
2019/07/25 Python
pytorch实现focal loss的两种方式小结
2020/01/02 Python
python如何调用php文件中的函数详解
2020/12/29 Python
Flask中jinja2的继承实现方法及实例
2021/03/03 Python
html5新增的属性和废除的属性简要概述
2013/02/20 HTML / CSS
中邮全球便购:中国邮政速递物流
2017/03/04 全球购物
高中运动会广播稿
2014/01/21 职场文书
会计电算化专业自荐信
2014/03/15 职场文书
个人租房协议书
2014/04/09 职场文书
初二学习计划书范文
2014/04/27 职场文书
最常使用的求职信
2014/05/25 职场文书
宿舍标语大全
2014/06/19 职场文书
保洁员岗位职责
2015/02/04 职场文书
我们的节日端午节活动总结
2015/02/11 职场文书
个人简历求职信范文
2015/03/20 职场文书
初中英语教师个人工作总结2015
2015/07/21 职场文书
Android Flutter实现图片滑动切换效果
2022/04/07 Java/Android