JS实现倒计时(可多数据)

场景:如活动列表进行倒计时(多个时间同时倒计时)。
实现:

1. 在展示列表的数据集合中加入天、时、分、秒等倒计时属性。

list.forEach(item =>{
	item.lastDay = 0; //天
	item.lastHour = 0; //时
	item.lastMinute = 0; //分
	item.lastSecond = 0; //秒
})

2. 封装方法,读取集合数据进行运算赋值。

function getLastTime(){
	for(var i = 0; i < list.length; i++){
		var orderTime = new Date().getTime();//当前时间
		var finshTime = new Date(list[i].ordTime);
		finshTime.setDate(finshTime.getDate() + 1);
		var endTime = finshTime.getTime();//获取下单时间后的同一天的同一时间
		var distanceTime = endTime - orderTime; //间隔时间
		if(distanceTime > 0){
			 var dd = Math.floor(distanceTime / 1000 / 60 / 60 / 24);
			 var hh = Math.floor((distanceTime / 1000 / 60 / 60) % 24);
			 var mm = Math.floor((distanceTime / 1000 / 60) % 60);
			 var ss = Math.floor((distanceTime / 1000) % 60);
			 dd = dd > 9 ? dd : '0' + dd;
			 hh = hh > 9 ? hh : '0' + hh;
			 mm = mm > 9 ? mm : '0' + mm;
			 ss = ss > 9 ? ss : '0' + ss;
			 list[i].lastDay = dd;//天
			 list[i].lastHour = hh;//时
			 list[i].lastMinute = mm;//分
			 list[i].lastSecond = ss;//秒
		}else{
			  list[i].lastDay = 0;//天
			 list[i].lastHour = 0;//时
			 list[i].lastMinute = 0;//分
			 list[i].lastSecond = 0;//秒
		}
	}
}

3. 调用方法(可在获取数据源的地方调用)

setInterval(function(){
	_this.getLastTime();
},1000) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值