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 相关文章推荐
javascript 全角转换实现代码
Jul 17 Javascript
JavaScript实现多维数组的方法
Nov 20 Javascript
ExtJS的拖拽效果示例
Dec 09 Javascript
jQuery$命名冲突怎么办如何解决
Jan 16 Javascript
让JavaScript和其它资源并发下载的方法
Oct 16 Javascript
浅谈jQuery animate easing的具体使用方法(推荐)
Jun 17 Javascript
socket.io与pm2(cluster)集群搭配的解决方案
Jun 02 Javascript
Vue用v-for给src属性赋值的方法
Mar 03 Javascript
微信小程序实现留言功能
Oct 31 Javascript
详解JavaScript 浮点数运算的精度问题
Jul 23 Javascript
vue中touch和click共存的解决方式
Jul 28 Javascript
如何用JavaScript实现一个数组惰性求值库
May 05 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字符转义相关函数小结(php下的转义字符串)
2007/04/12 PHP
PHP生成HTML静态页面实例代码
2008/08/31 PHP
php数组保存文本与文本反编成数组实例
2014/11/13 PHP
PHP实现的简单排列组合算法应用示例
2017/06/20 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
2017/12/25 PHP
PHP实现可添加水印与生成缩略图的图片处理工具类
2018/01/16 PHP
xss文件页面内容读取(解决)
2010/11/28 Javascript
jquery实现表格隔行换色效果
2015/11/19 Javascript
javascript 数组的定义和数组的长度
2016/06/07 Javascript
JS实现图片延迟加载并淡入淡出效果的简单方法
2016/08/25 Javascript
Bootstrap作品展示站点实战项目2
2016/10/14 Javascript
详解微信小程序开发之——wx.showToast(OBJECT)的使用
2017/01/18 Javascript
JS常用知识点整理
2017/01/21 Javascript
Jquery uploadify 多余的Get请求(404错误)的解决方法
2017/01/26 Javascript
AngularJS动态菜单操作指令
2017/04/25 Javascript
基于jquery实现多选下拉列表
2017/08/02 jQuery
vue实现的微信机器人聊天功能案例【附源码下载】
2019/02/18 Javascript
详解vue 不同环境配置不同的打包命令
2019/04/07 Javascript
微信小程序背景音乐开发详解
2019/12/12 Javascript
如何修改Vue打包后文件的接口地址配置的方法
2020/04/22 Javascript
按日期打印Python的Tornado框架中的日志的方法
2015/05/02 Python
使用pip发布Python程序的方法步骤
2018/10/11 Python
python requests post多层字典的方法
2018/12/27 Python
Python3.5面向对象程序设计之类的继承和多态详解
2019/04/24 Python
Python插件机制实现详解
2020/05/04 Python
python中用Scrapy实现定时爬虫的实例讲解
2021/01/18 Python
Under Armour安德玛中国官网:美国高端运动科技品牌
2018/03/09 全球购物
伊索寓言教学反思
2014/05/01 职场文书
学校做一个有道德的人活动方案
2014/08/23 职场文书
合伙购房协议样本
2014/10/06 职场文书
入党积极分子个人总结
2015/03/02 职场文书
地道战观后感2000字
2015/06/04 职场文书
跑吧孩子观后感
2015/06/10 职场文书
单独二胎证明
2015/06/24 职场文书
MongoDB连接数据库并创建数据等使用方法
2021/11/27 MongoDB
彻底解决MySQL使用中文乱码的方法
2022/01/22 MySQL