我想用jQuery获取div的高度,在这个div中,有一些图像在加载时会改变这个div的大小:
但是使用下面的代码,它会在加载图像之前给出div的高度
$(document).ready(function() {
$(".link_module").each(
function () {
maxheight = Math.max(maxheight,$(this).height());
}
).height(maxheight);
});
我已将代码更改为此但没有任何变化:
$(document).ready(function() {
$(".link_module img").load(
function (){
$(".link_module").each(
function () {
maxheight = Math.max(maxheight,$(this).height());
}
).height(maxheight);
}
)
});
有人可以帮助我更改代码以达到我的目标吗?
答案 0 :(得分:7)
您可以使用$(window).load()
在文档及其资源完全加载时触发,包括所有对象和图像:
加载事件在文档加载过程结束时触发。此时,文档中的所有对象都在DOM中,并且所有图像和子帧都已完成加载。
$(window).on('load', function() {
$(".link_module").each(
function () {
maxheight = Math.max(maxheight,$(this).height());
}
).height(maxheight);
});
答案 1 :(得分:2)
试试这个
$(document).ready(function() {
var $this = $(this);
$(".link_module img").load(
function (){
$(".link_module").each(function () {
maxheight = Math.max(maxheight,$this.height());
}).height(maxheight);
});
});
答案 2 :(得分:0)
试一试。 Lemme知道它是否有效。
var childW=0
$(".link_module").children().each(function(){
$("img").load(function() {
childW+=$(this).outerWidth();
});
});