代码能力太差,比较纠结的代码记录于此。
注:获得时分秒的关键在于Math.floor,向下取整从而不伤原值。
$scope.findOneFromRedis=function(){
var id=$location.search()['id'];
seckillGoodsService.findOneFromRedis(id).success(
function(response){
$scope.entity=response;
var allsecond=Math.floor((new Date($scope.entity.endTime).getTime()-new Date($scope.entity.startTime).getTime())/1000);
time=$interval(function(){
if(allsecond>0){
allsecond=allsecond-1;
$scope.timeString=converTimeString(allsecond);
}else{
$interval.cancel(time);
alert("秒杀已结束");
}
},1000);
}
);
}
converTimeString=function(allsecond){
var day=Math.floor(allsecond/60/60/24);
var hour=Math.floor((allsecond-day*24*60*60)/60/60);
var minute=Math.floor((allsecond-day*24*60*60-hour*60*60)/60);
var second=allsecond-day*24*60*60-hour*60*60-minute*60;
var timeString="";
if(day>0){
timeString+=day+"天"
}
return timeString+hour+"时"+minute+"分"+second+"秒";
}
![]()
本文介绍了一种使用AngularJS实现秒杀商品倒计时的方法,通过从Redis获取商品信息,计算并显示从开始到结束的剩余时间。利用Math.floor进行时间戳的精确转换,配合$interval服务实时更新倒计时。
1410

被折叠的 条评论
为什么被折叠?



