Я совершенно новичок в JavaScript.Я пытаюсь установить равные высоты для некоторых элементов.Мне удалось сделать все, кроме перемещения функции за пределы объявления "addEvent".
Другими словами, этот код работает:
window.addEvent('domready', function() {
var elements = $$( 'div#leftcolumn div.module_menu' );
if( elements && elements.length > 1 ) {
var heights = [];
elements.each( function( el ) {
heights.push( el.getStyle('height').toInt() );
});
maxHeight = Math.max.apply( Math, heights ) + "px";
elements.each( function( el ) {
el.setStyle('height', maxHeight );
});
delete(heights);
}
}
);
, хотя этот код НЕ работает:
function matchHeight( selector ) {
var elements = $$( selector );
if( elements && elements.length > 1 ) {
var heights = [];
elements.each( function( el ) {
heights.push( el.getStyle('height').toInt() );
});
maxHeight = Math.max.apply( Math, heights ) + "px";
elements.each( function( el ) {
el.setStyle('height', maxHeight );
});
delete(heights);
}
}
window.addEvent( 'domready', matchHeight( 'div#leftcolumn div.module_menu' ) );
Я уже тестировал более простые функции, и он работает, какНапример:
window.addEvent('domready', function() { alert('test'); } )
эквивалентно
function giveMessage() { alert('test'); }
window.addEvent( 'domready', giveMessage())
почему это так?