|
- // 显示倒计时
- Model.prototype.showTime = function(obj,time){
-
- var go = function(){
- for (var i = 0; i < list.length; i++) {
- $(list[i].ele).text(getTimerString(list[i].time ? list[i].time -= 1 : 0));
- if (!list[i].time)
- list.splice(i--, 1);
- }
- };
-
- var getTimerString = function (time) {
- // time = time.replace('T',' ');
- // time = time.replace(/\-/g,'/');
- var time_end = new Date(time);
- var time_now = new Date(); // 获取当前时间
- time_now = time_now.getTime();
- var time_distance = time_end - time_now; // 结束时间减去当前时间
- var int_day, int_hour, int_minute, int_second;
- if(time_distance >= 0){
- // 天时分秒换算
- int_day = Math.floor(time_distance/86400000);
- time_distance -= int_day * 86400000;
- int_hour = Math.floor(time_distance/3600000)+'';
- time_distance -= int_hour * 3600000;
- int_minute = Math.floor(time_distance/60000)+'';
- time_distance -= int_minute * 60000;
- int_second = Math.floor(time_distance/1000)+'';
-
- // 时分秒为单数时、前面加零站位
- if(int_hour < 10)
- int_hour = "0" + int_hour;
- if(int_minute < 10)
- int_minute = "0" + int_minute;
- if(int_second < 10)
- int_second = "0" + int_second;
-
- var hour1= int_hour.substr(0,1);
- var hour2= int_hour.substr(1,1);
- var minute1 = int_minute.substr(0,1);
- var minute2 = int_minute.substr(1,1);
- var second1 = int_second.substr(0,1);
- var second2 = int_second.substr(1,1);
- // 显示时间
- return '剩'+int_day+'天'+hour1+hour2+'时'+minute1+minute2+'分'+second1+second2+'秒';
- }else{
- return '已结束';
- }
- };
-
- var list = [],
- interval;
- if (!interval)
- interval = setInterval(go, 1000);
- list.push({ ele: obj, time: time });
-
- };
复制代码
在 bind-text 属性中添加 $model.showTime( $element ,val("endDate")),其中 $element 为当前元素,val("endDate")为需要传入的结束日期。 |
|