vue 实现小程序或商品秒杀倒计时

家电修理 2023-07-16 19:16www.caominkang.com电器维修

下面先给大家介绍下vue 设计一个倒计时秒杀的组件 ,具体内容如下所述

简介

倒计时秒杀组件在电商网站中层出不穷  不过思路万变不离其踪,我自己根据其他资料设计了一个vue版的

核心思路1、时间不能是本地客户端的时间  必须是服务器的时间这里用一个settimeout代替 以为时间必须统一 

                 2、开始时间,结束时间通过父组件传入,当服务器时间在这个开始时间和结束时间的范围内  参加活动按钮可以点击,并且参加过活动以后不能再参加,

     3、在组件创建的时候 同步得到现在时间服务时间差,并且在这里边设置定时器,每秒都做判断看秒杀是否开始和结束,

     4、在更新时间的函数中是否开始和结束,

     5、在puted钩子中监听disable 确定按钮是否可点击

     6、参加过活动在updated中停止定时器的计时,页面销毁的时候也停止计时

    下边是代码

    子组件  




 button[disabled]{
  cursor: not-alloed;
 }

父组件




用到moment的这个关于时间操作的库

下面紧接着给大家介绍小程序或者vue商品秒杀倒计时

最近做小程序商城。列表秒杀倒计时这个坑死了。还是借鉴网上大佬的方法

let goodsList = [{
 actEndTime: '2018-06-24 10:00:43'
}]
let endTimeList = [];
// 将活动的结束时间参数提成一个单独的数组,方便操作
 this.data.mydata.rush.forEach(o => {
   endTimeList.push(o.actEndTime)
})
 this.setData({
   actEndTimeList: endTimeList
});
 // 执行倒计时函数
 this.countDon();
timeFormat(param) { //小于10的格式化函数
  return param < 10 ? '0' + param : param;
 },
 countDon(it) { //倒计时函数
  // 获取当前时间,得到活动结束时间数组
  let neTime = ne Date().getTime();
  let endTimeList = this.data.actEndTimeList;
  let countDonArr = [];
  // 对结束时间进行处理渲染到页面
  endTimeList.forEach(o => {
   let endTime = ne Date(o).getTime();
   let obj = null;
   // 如果活动未结束,对时间进行处理
   if (endTime - neTime > 0) {
 let time = (endTime - neTime) / 1000;
 // 获取天、时、分、秒
 let day = parseInt(time / (60  60  24));
 let hou = parseInt(time % (60  60  24) / 3600);
 let min = parseInt(time % (60  60  24) % 3600 / 60);
 let sec = parseInt(time % (60  60  24) % 3600 % 60);
 obj = {
  day: this.timeFormat(day),
  hou: this.timeFormat(hou),
  min: this.timeFormat(min),
  sec: this.timeFormat(sec)
 }
   } else { //活动已结束,全部设置为'00'
 obj = {
  day: '00',
  hou: '00',
  min: '00',
  sec: '00'
 }
   }
   countDonArr.push(obj);
  })
  // 渲染,然后每隔一秒执行一次倒计时函数
  this.setData({
   countDonList: countDonArr
  })
  setTimeout(this.countDon, 1000);
 },

¥{{item.money}}

 剩余
 {{countDonList[index].day}}
 
 {{countDonList[index].hou}}:
 {{countDonList[index].min}}:
 {{countDonList[index].sec}}

   

countDonList: []

主要是将获取到的时间循环出来单独存一个数组。然后再倒计时。获取的时间和计算机的时间对比。

然后再每个商品的index下便可获取到每个倒计时了

以上所述是我给大家介绍的vue 实现倒计时秒杀的组件,如果大家有任何疑问欢迎给我留言,我会及时回复大家的!

Copyright © 2016-2025 www.caominkang.com 曹敏电脑维修网 版权所有 Power by