IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 前端vue倒计时组件【模块化开发】 -> 正文阅读

[JavaScript知识库]前端vue倒计时组件【模块化开发】

剑阁峥嵘而崔嵬,一夫当关,万夫莫开 –‰


📌博主介绍

💒首页:水香木鱼

🛫专栏:后台管理系统

?简介: 博主姓:,名:春波。花名 “水香木鱼”,星座附属 “水瓶座一枚” 来自于富土肥沃的"黑龙江省"-美丽的 “庆安小镇”

🔰 格言: 生活是一面镜子。 你对它笑, 它就对你笑; 你对它哭, 它也对你哭。

🔋 小目标: 成为 会设计 、会开发的 “万能钥匙”

📝文章内容

? 一、组件代码

<!--活动倒计时组件-->
<style lang="less" scoped>
.CountDown{
  width: 280px;
  height: 20px;
  display: flex;
  border-top-left-radius: 10px;
  border: 1px solid red;


  .CountDown_p1{
    width: 120px;
    height: 20px;
    line-height: 20px;
    text-align: center;
    background-color:red;
    color: floralwhite;
    border-top-left-radius: 10px;
    border-bottom-right-radius: 10px;
    font-size: 16px;
    font-weight: bold;
  }
  .CountDown_p2{
    width: 190px;
    height: 20px;
    line-height: 20px;
    color: red;
    font-size: 14px;
    margin-left: 14px;
  }
}
</style>
<template>
  <div class="CountDown">
    <p class="CountDown_p1">活动倒计时:</p>
    <p class="CountDown_p2">{{time}}</p>
  </div>
</template>
<script>
export default{
  data () {
    return {
      time : '',
      flag : false
    }
  },
  mounted () {
    //setInterval 开启定时器
    let time = setInterval(() => {
      if (this.flag == true) {
        //clearInterval()方法能够取消setInterval()方法设置的定时器
        clearInterval(time);
      }
      this.countDown();
    }, 500);
  },
  props : {
    endTime : {
      type: String
    }
  },
  methods : {
    //倒计时函数
    countDown () {
      //剩余时间
      const endTime = new Date(this.endTime);
      //系统时间
      const nowTime = new Date();

      let leftTime = parseInt((endTime.getTime() - nowTime.getTime()) / 1000);

      let d = parseInt(leftTime / (24 * 60 * 60));//天数
      let h = this.formate(parseInt(leftTime / (60 * 60) % 24));//时间
      let m = this.formate(parseInt(leftTime / 60 % 60));//分钟
      let s = this.formate(parseInt(leftTime % 60));//秒

      if(leftTime <= 0){
        this.flag = true;
        this.$emit('time-end');
        this.time = '活动已结束';
      }else{
        // 需要修改时间样式的话 ,比如需要什么30分钟倒计时,就只保留分和秒
        this.time = `${d}${h} 小时 ${m}${s}`;
      }
    },

    formate(time) {
      if (time >= 10) {
        return time;
      } else {
        return `0${time}`;
      }
    }
  }
}
</script>

? 二、页面使用

<template>
  <div>
    <countdown :endTime='endTime'></countdown>
  </div>
</template>
<script>
import countdown from './components/CountDown'   //  引入倒计时组件
export  default {
  components:{
    countdown
  },
  data(){
    return{
      //剩余时间
      endTime : '2022-07-1 11:59:00'
    }
  }

}
</script>

? 三、展示效果

在这里插入图片描述

📢博主致谢

非常感谢小伙伴们阅读到结尾,本期的文章就分享到这里,总结了前端vue倒计时组件【模块化开发】,希望可以帮到大家,谢谢。
如果你觉得本篇文章有帮助到您,鼓励一下木鱼吧! 点击关注+点赞+收藏+评论+转发 】支持一下哟
🙏您的支持就是我更新的最大动力。???记得一键三连呦!?


💡往期精彩

🈯前端快速排序算法【JavaScript 与vue通用】

🈯前端冒泡排序算法【javaScript与vue通用】

🈯vue快速实现锚点功能【简单版与高级版】

🈯前端vue实现高级检索小案例

🈯UI设计指南之可视化大屏【快速理解版】

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-06-08 18:57:17  更:2022-06-08 18:57:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 16:59:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码