我正在创建一个小测验,每个问题都会输出4个列表项,每个问题的答案高度不同......
我想编写一个运行的脚本,并将所有div设置为与最大的div相同的高度...
我有以下情况,只有当我的答案有一个图像,它在图像加载完成之前计算hiehgt,然后设置高度以使其相当错误,任何人都能看到更好的方式来写这个吗?
function resizeAnswers(){
var maxHeight = 23;
$('.text-answers li').each(function() {
maxHeight = maxHeight > $(this).height() ? maxHeight : $(this).height();
});
$('.text-answers li').each(function() {
$(this).height(maxHeight);
});
}
答案 0 :(得分:1)
要等到所有图像都已加载,请在窗口加载后调用代码:
$(window).load(function() {
resizeAnswers();
});
请注意,这将等待所有图片加载,这可能是一个问题,具体取决于您网站的性质。如果这是一个问题,您可以等待列表项中的图像加载,但这更复杂。
另外,你有这个:
$('.text-answers li').each(function() {
$(this).height(maxHeight);
});
但这会做同样的事情:
$('.text-answers li').height(maxHeight);
jQuery很乐意将大多数操作应用于一组元素。