我有一个功能,我用来使一堆兄弟n
具有相同的高度。当DOM准备就绪时,我定义它,调用它,然后在div
window
编辑时将其设置为被调用。
resiz
当jQuery(function($){
function rescaleStuff ( )
{
$('.children-have-equal-height').each(function(){
var children = $(this).children();
var numChildren = children.length;
if (numChildren > 1)
{
var firstChild = children.first();
var maxHeight = firstChild.height();
firstChild.siblings().each(function() {
var thisHeight = $(this).height();
if (thisHeight > maxHeight)
maxHeight = thisHeight;
});
children.height(maxHeight);
}
});
}
rescaleStuff();
$(window).resize(function()
{
rescaleStuff();
});
});
调整大小调用函数rescaleStuff
时,函数window
工作得很棒,但当页面加载时 工作正常。由于某种原因,它计算的高度小于实际高度。那是为什么?
此外,我的程序可以更紧凑,优雅,可读,高效,聪明和可维护吗?我不这么认为。 ;)
答案 0 :(得分:1)
使用:
$( window ).load(function() {
....
});
如果你必须计算宽度/高度,位置...... ready()方法是不够的。您必须等到加载完整内容(带图像),因为内容会影响高度和宽度。