zoukankan      html  css  js  c++  java
  • vue2.0实现倒计时的插件(时间戳 刷新 跳转 都不影响),转载

    组件代码

    <template>
      <span :endTime="endTime" :callback="callback" :endText="endText">
        <slot>
          {{content}}
        </slot>
      </span>
    </template>
    <script>
      export default {
        data(){
          return {
          content: '',
          }
        },
        props:{
          endTime:{
            type: String,
            default :''
          },
          endText:{
            type : String,
            default:'已结束'
          },
          callback : {
            type : Function,
            default :''
          }
        },
        mounted () {
         this.countdowm(this.endTime)
        },
        methods: {
          countdowm(timestamp){
          let self = this;
          let timer = setInterval(function(){
            let nowTime = new Date();
            let endTime = new Date(timestamp * 1000);
            let t = endTime.getTime() - nowTime.getTime();
            if(t>0){
              let day = Math.floor(t/86400000);
              let hour=Math.floor((t/3600000)%24);
              let min=Math.floor((t/60000)%60);
              let sec=Math.floor((t/1000)%60);
              hour = hour < 10 ? "0" + hour : hour;
              min = min < 10 ? "0" + min : min;
              sec = sec < 10 ? "0" + sec : sec;
              let format = '';
              if(day > 0){
                format = `${day}天${hour}小时${min}分${sec}秒`;
              } 
              if(day <= 0 && hour > 0 ){
                format = `${hour}小时${min}分${sec}秒`; 
              }
              if(day <= 0 && hour <= 0){
                format =`${min}分${sec}秒`;
              }
              self.content = format;
              }else{
               clearInterval(timer);
               self.content = self.endText;
               self._callback();
              }
             },1000);
            },
            _callback(){
            if(this.callback && this.callback instanceof Function){
               this.callback(...this);
             }
          }
        }
      }
    </script>

    使用

    <count-down endTime="1490761620" :callback="callback" endText="已经结束了"></count-down>

    样式

      

    转载自:https://www.xiaojishu.com/bc/JavaScript/1816.html

  • 相关阅读:
    hystrix(3) 熔断器
    hystrix(2) metrics
    hystrix(1) 概述
    ribbon源码(6) Server
    ribbon源码之客户端
    ribbon源码(4) 载均衡算法
    java虚拟机5 字节码
    spring mvc(5) HandlerAdapter
    spring mvc(4) HandlerMapping
    spring mvc(3) DispatcherServlet
  • 原文地址:https://www.cnblogs.com/autonomy/p/12401403.html
Copyright © 2011-2022 走看看