商品秒杀倒计时代码记录

378 阅读1分钟

开发商城小程序商品秒杀倒计时代码

获取商品代码

getshoplist(){

	var _this=this
	Ajax('/shangpin?p=1&pz=4&keyworkd='+_this.search,'','GET',res=>{
		_this.goodslist=res.data.data.data
		var list=res.data.data.data
		for(var i in list){
			_this.timers(_this.fromdate(list[i].qg_start_time,1),_this.fromdate(list[i].qg_end_time,1),i)//时间转换
		}
		_this.gettick()
	})

},

通过传参开始时间和结束时间计算时间差

timers(start,endtime,index){

var _this = this;
var start = new Date()//现在时间
var now = start.getTime()
var endtime=new Date(endtime)//结束时间
var end= endtime.getTime()
var leftTime =end - now; //时间差 
_this.countTime(leftTime,index)

},

通过时间差返回时分秒

countTime(leftTime,index) {

	var _this=this
    if (leftTime >= 0) {
	  _this.countdown.day = Math.floor(leftTime / 1000 / 60 / 60 / 24);
      _this.countdown.h = Math.floor(leftTime / 1000 / 60 / 60 % 24);
      _this.countdown.m = Math.floor(leftTime / 1000 / 60 % 60);
      _this.countdown.s = Math.floor(leftTime / 1000 % 60);
      _this.countdown.s = _this.countdown.s < 10 ? "0" + _this.countdown.s : _this.countdown.s,
	  _this.countdown.h = _this.countdown.h < 10 ? "0" + _this.countdown.h : _this.countdown.h,
      _this.countdown.m = _this.countdown.m < 10 ? "0" + _this.countdown.m : _this.countdown.m,
	  _this.goodslist[index].day=_this.countdown.day
	  _this.goodslist[index].h=_this.countdown.h
	  _this.goodslist[index].m=_this.countdown.m
	  _this.goodslist[index].s=_this.countdown.s
      //递归每秒调用countTime方法,显示动态时间效果
      setTimeout(function(){
		  leftTime-=1000
		  _this.countTime(leftTime,index)
	  }, 1000);
    } else {
		_this.goodslist[index].day='0'
		_this.goodslist[index].h='00'
		_this.goodslist[index].m='00'
		_this.goodslist[index].s='00'
    }

},