您当前的位置:首页 > 网站建设 > javascript
| php | asp | css | H5 | javascript | Mysql | Dreamweaver | Delphi | 网站维护 | 帝国cms | React | 考试系统 | ajax | jQuery | 小程序 |

利用momentJs做一个倒计时组件(实例代码)

51自学网 2022-02-21 13:35:27
  javascript

今天抽空给大家介绍下vue和moment做的一个倒计时,具体内容如下所示:

展示样式:

<template>    <div class="table-right flex-a-center">        <div class="time-text">            <span class="timeTextSpan" v-for="item,index of h" >{{item}}</span>            <span class="timeTextSpan1" >: </span>            <span class="timeTextSpan" v-for="item,index of m" >{{item}}</span>            <span class="timeTextSpan1" >: </span>            <span class="timeTextSpan" v-for="item,index of s" >{{item}}</span>        </div>    </div></template>
<script>import moment from 'moment'export default {  props: {    endTime: { }, //接收得最后时间 2021-12-17 16:29:20  },  data() {    //这里存放数据    return {      h:'00',      m:'00',      s:'00',      timer:null    };  },  watch: {    endTime: {      handler(e) {        if (e) {          let self = this          clearInterval(this.timer)          this.timer = setInterval(function(){self.init()},1000)        }      },      deep: true,      immediate: true    }  },  mounted() {    let self = this    self.init()    clearInterval(this.timer)    this.timer = setInterval(function(){self.init()},1000)  },  //方法集合  methods: {    init(){        let time =moment(this.endTime).diff(moment())        if(time <= 0){          clearInterval(this.timer)          this.onOver()          return        }        let t = time / 1000;        let d = Math.floor(t / (24 * 3600));  //剩余天数,如果需要可以自行补上        let h = Math.floor((t - 24 * 3600 * d) / 3600) + d*24;  //不需要天数,把天数转换成小时        let _h = Math.floor((t - 24 * 3600 * d) / 3600)  //保留天数后得小时        let m = Math.floor((t - 24 * 3600 * d - _h * 3600) / 60);        let s = Math.floor((t - 24 * 3600 * d - _h * 3600 - m * 60));               this.h = String(h).length == 1? '0'+String(h):String(h)        this.m = String(m).length == 1? '0'+String(m):String(m)        this.s = String(s).length == 1? '0'+String(s):String(s)    },    onOver() {      this.$emit('over') //倒计时结束得回调    }   },  beforeDestroy(){    this.timer = null    clearInterval(this.timer)  }}</script><style lang='less' scoped>@import url("@/assets/css/supplier.less");   .table-right {    font-size: 12px;    color: #757e8a;    .timeTextSpan{      display: inline-block;      width: 14px;      height: 22px;      text-align: center;      background: #F1F0F0;      border-radius: 2px;      margin-right: 2px;      font-size: 16px;      color: #ff8a2b;      font-weight: bold;    }    .timeTextSpan1{      display: inline-block;      width: 14px;      text-align: center;      vertical-align: bottom;      color:#202D40;      font-size: 16px;      font-weight: bold;    }       .time-text {      margin-left: 10px;    }  }</style>

到此这篇关于利用momentJs做一个倒计时组件的文章就介绍到这了,更多相关momentJs倒计时组件内容请搜索51zixue.net以前的文章或继续浏览下面的相关文章希望大家以后多多支持51zixue.net!


下载地址:
JavaScript通过极大极小值算法实现AI井字棋游戏
JSONP跨域模拟百度搜索
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。