AngularJS倒计时

AngularJS 倒计时

在AngularJS中 $interval 服务用来处理间歇性处理一些事情

格式:

    **$interval(执行的函数,间隔的毫秒数,运行次数);**

运行次数可以缺省,如果缺省则无限循环执行。

取消执行用cancle方法:$interval.cancel(time);

Demo:10秒倒计时

$scope.second = 10; 
time= $interval(function(){ 
    if($scope.second>0){ 
        $scope.second =$scope.second-1;  			
    }else{
        $interval.cancel(time); 		  
        alert("秒杀服务已结束");
    }
},1000);

从数据库中获取时间倒计时

 //秒杀倒计时
//获取剩余的秒数
allSecond = Math.floor((new Date($scope.entity.endTime).getTime() - new Date())/1000);
time =$interval(function(){
    allSecond = allSecond - 1;
    $scope.timeString = convertTimeString(allSecond);//转换格式
    if(allSecond <= 0){
        $interval.cancel(time);
    }
},1000);

//时间格式的转换
convertTimeString = function(allSecond){
    var days = Math.floor(allSecond/(60*60*24));//天数
    var hours = Math.floor((allSecond - days*60*60*24)/(60*60));//小时
    var minutes = Math.floor((allSecond - days*60*60*24- hours*60*60)/60);//分钟
    var seconds = allSecond - days*60*60*24 - hours*60*60 - minutes*60;//秒
    var dayString = "";
    var hourString = hours+":";
    var minuteString = minutes+":";
    var secondString = seconds+"";
    if(days > 0){
        dayString = days+"天 ";
    }
    if(hours < 10){
        hourString = "0"+hours+":";
    }
    if(minutes < 10){
        minuteString = "0"+minutes+":";
    }
    if(seconds < 10){
        secondString = "0"+seconds;
    }
    return dayString + hourString + minuteString + secondString;
};

页面引用变量:

{{timeString}}

你可能感兴趣的:(AngularJS)