javascript这个数字时钟总是延时一秒钟显示怎么办??

JavaScript09

javascript这个数字时钟总是延时一秒钟显示怎么办??,第1张

setInterval(function aa(){});

这里的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)