xgtxxxx 发表于 2013-1-29 08:39:19

ext和js定时器

1、Ext定时器(Ext的定时器,每隔2秒刷新store)

var task = { //Ext的定时器,每隔2秒刷新store。
    run : function() {   
      moneyStore.load();
      if(moneyStore.getAt(0)){
      if(f==0){
      setTime(moneyStore.getAt(0).data.endtime)
      }
      f = 1;
      }
    },   
    interval : 2000   
    // 2 second   
}

Ext.TaskMgr.start(task);//启动定时器
Ext.TaskMgr.stop(task);//关闭定时器

2、js定时器-倒计时

function setTime(endtime){
var enddate = new Date(Date.parse(endtime.replace(/\-/g, "/")));//yyyy-MM-dd HH:mm:ss型字符串转成日期
var count = enddate.getTime()-new Date().getTime();
var time = formatTime(count);
var update = '<font size="5">距离结束还有:</font><font size="5" color="red">'+time+'</font>';
if(count>=0){
Ext.getCmp("timePanel").el.update(update);
setTimeout('setTime("'+endtime+'")', 1000);//js定时器
}else{
Ext.getCmp("timePanel").el.update('<font size="5" color="red">已经结束</font>');

}
}

function formatTime(count){
var day;
var hour;
var min;
var sec;
var c1 = count%(1000*60*60*24);//出过天后的余数
var day = (count/(1000*60*60*24)+"").split('.');

var c2 = c1%(1000*60*60);
var hour = (c1/(1000*60*60)+"").split('.');

var c3 = c2%(1000*60);
var min = (c2/(1000*60)+"").split('.');

var c4 = c3%(1000);
var sec = (c3/(1000)+"").split('.');

return day+"天 "+hour+"时 "+min+"分 "+sec+"秒";
}
页: [1]
查看完整版本: ext和js定时器