这里的aa不是全局的。因此下面直接调用的那个没执行。方法是将aa的定义,挪到setInterval外面,setInterval(aa,1000),下面也在onload里调用aa(),应该就可以了。
另外,javascript的计时不是很准,所以你会发现秒数有可能会跳,比如,当前秒是1,毫秒数是999,下次执行是1000毫秒后,但有可能是1001毫秒才执行,所以直接跳到3秒了,解决的办法是将刷新频率调高,比如间隔为500毫秒,这样就不会有跳秒的现象。但还会有秒的变化与实际不符的感觉,调整到200-250左右,人就基本感觉不出来了。
放日期的地方改成一个label控件tbar : [{
xtype: 'label',
id: 'lbl-now-date',
fieldLabel: '您好,今天是',
text: getNowDate()
},'->',{
xtype : 'button',
text : 'OA登陆',
iconCls : 'add'
},'-',
{
xtype : 'button',
text : '设为首页'
},
'-',{
xtype : 'button',
text : '加入收藏'
}],
原来setTimeout去掉~
定时刷新时间也不是用setTimeout, setTimeout只执行一次, 要用setInteval
在后面加一段
setInterval(function(){
var lbl = Ext.getCmp('lbl-now-date')
if (lbl) lbl.text = getNowDate()
}, 1000)