js、Extjsの関数の割り当てと呼び出し
2596 ワード
// ;
function scrollFun(){
Ext.getCmp('scrollItem').doLayout();
Ext.getCmp('ScrollPanelID').doLayout();
//
console.info('document.getElementById("bodyPanelID").style.height= '+document.getElementById('bodyPanelID').style.height);
console.info('document.getElementById("bodyPanelID").offsetHeight= '+document.getElementById('bodyPanelID').offsetHeight);
console.info('document.getElementById("bodyPanelID").clientHeight= '+document.getElementById('bodyPanelID').clientHeight);
console.info('document.getElementById("bodyPanelID").scrollHeight= '+document.getElementById('bodyPanelID').scrollHeight);
document.getElementById('scrollItem').style.height=(document.getElementById("bodyPanelID").clientHeight/document.getElementById("bodyPanelID").scrollHeight)*document.getElementById("ScrollPanelID").clientHeight+'px';
// ( )
document.getElementById('scrollItem').style.top=(document.getElementById('bodyPanelID').scrollTop/document.getElementById('bodyPanelID').scrollHeight)*document.getElementById("ScrollPanelID").clientHeight+'px';
console.info('document.getElementById("scrollItem").style.height= '+document.getElementById('scrollItem').clientHeight);
}
// top 。
Ext.get('win').on('click',scrollFun());
この中では、id='win'の要素をクリックしないと、scrollFun()という関数も呼び出されます.実はscrollFun関数はページローディング時に既に実行されています.id='win'の要素をクリックすると、逆にエラーが発生します.なぜですか
理由は:
Ext.get('win').on('click',function(){}); Extjs click , click 。 , , click , 。 js 、 、 var , 。 ,scrollFun(): () , 。
Ext.get('win').on('click',scrollFun); ,
Ext.get('win').on('click',function(){});
Ext.get('win').on('click',scrollFun());
function fun(){
alert('fun');
}
// fun a
var a=fun;
var a=fun(); , fun() , 。