基于vue的倒计时功能

前言
目前在工作中用到的都是以vue框架实现的,本文记录开发中遇到的功能如何实现的。
要求实现一个活动页面的倒计时功能。如图

在这里插入图片描述

HTML代码
<template>
  <div class="changeTab">
    <img src="../assets/bg@3x.png" alt="背景图" class="bgImg" />
    <img src="../assets/time@3x.png" alt="计时" class="countDown" />
    <span class="time left">{{decade}}</span>
    <span class="time right">{{unit}}</span>
  </div>
</template>
JS代码
<script>
export default {
  data() {
    return {
      startTime: "2019.11.1 00:00:00"  //设置开始时间
    };
  },
  computed: {
  //decade是计算倒计时的第十位的天数
    decade: function() {
      let time = new Date(this.startTime).getTime();
      let now = new Date();
      let time1 = Math.ceil((time - now) / 86400000);
      let num = parseInt(time1 / 10);
      return num;
    },
    //unit是计算倒计时的第个位数的天数
    unit: function() {
      let time = new Date(this.startTime).getTime();
      let now = new Date();
      let time1 = Math.ceil((time - now) / 86400000);  //一天有86400000毫秒
      let num = parseInt(time1 % 10);
      return num;
    }
  }
};
</script>

getTime() 方法可返回距 1970 年 1 月 1 日之间的毫秒数

CSS代码

用的scss预编译

<style lang='scss' scoped>
.changeTab {
  .bgImg {
    width: 100%;
    height: 100%;
  }
  .countDown {
    width: 7rem;
    height: 8rem;
    position: fixed;
    top: 1rem;
    right: 0;
  }
  .time {
    font-size: 1rem;
    font-family: Source Han Sans SC;
    font-weight: bold;
    color: rgba(255, 110, 134, 1);
    line-height: 1rem;
    text-align: center;
  }
  .left {
    position: fixed;
    top: 6rem;
    right: 4.1rem;
  }
  .right {
    position: fixed;
    top: 6rem;
    right: 3.1rem;
  }
}
结语

若有不足之处,望指出,谢谢!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值