zoukankan      html  css  js  c++  java
  • VUE组件 之 倒计时(防刷新)

    思路:

    一、效果图:

    二、CSS代码

    .box{
        width: 300px;
        height: 100px;
        line-height: 100px;
        margin: 100px auto;
        background-color: #eee;
        text-align: center;
        font-size: 30px;
        color: #666;
    }
    .count-number{
        color: red;
        font-size: 30px;
        font-weight: bold;
    }

    三、HTML代码

    <div class="wrap">
        <countdown seconds="15" index="1"></countdown>
        <countdown seconds="30" index="2"></countdown>
    </div>

    四、JAVASCRIPT代码

    // 倒计时组件
    Vue.component('countdown', {
        props: ['seconds', 'index'],
        data: () => {
             return {
                timerCount: 0
             }
         },
         mounted() {
             this.timing();
         },
         methods: {
             timing() {
                 let startTime = localStorage.getItem(`startTime${this.index}`);
                 let nowTime = new Date().getTime();
                 if(startTime) {
                      let surplus = this.seconds - parseInt((nowTime-startTime) / 1000, 10);
                      this.timerCount = surplus <= 0 ? 0 : surplus;
                 } else {
                      this.timerCount = this.seconds;
                      localStorage.setItem(`startTime${this.index}`, nowTime);
                 }
    
                 let timer = setInterval(() => {
                      if(this.timerCount > 0 && this.timerCount <= this.seconds) {
                          this.timerCount--;
                     } else {
                          localStorage.removeItem(`startTime${this.index}`);
                          clearInterval(timer);
                      }
                 }, 1000);
             }
        },
        template: `<div class="box">倒计时 <span class="count-number">{{timerCount < 10 ? '0' + timerCount : timerCount}}</span> 秒</div>`
    });
    
    // Vue实例
    new Vue({
        el: '.wrap'
    });
  • 相关阅读:
    spring详解(五)——事物管理
    spring详解(四)——JDBC
    spring详解(三)——AOP
    Spring详解(二)
    Spring详解(一)
    springMVC(九)——restful风格和异常处理
    Linux 文件权限
    如何使用Git从GitHub上下载项目
    Spring(1)
    SpringMvc(4)
  • 原文地址:https://www.cnblogs.com/similar/p/9450040.html
Copyright © 2011-2022 走看看