我有以下Javascript代码可以调整页面上的图像大小:
var max_size = 498;
$(".slideimage").each(function(i) {
if ($(this).height() > $(this).width()) {
var h = max_size;
var w = Math.ceil($(this).width() / $(this).height() * max_size);
} else {
var w = max_size;
var h = Math.ceil($(this).height() / $(this).width() * max_size);
}
$(this).css({ height: h, width: w });
});
此代码包含在$(document).ready()函数中。
在Chrome,Firefox,Safari和Opera中查看时,图像显示正常。但是,当在Internet Explorer 7,8和9中查看同一页面时,有时(好的,50%的时间)首次加载页面时,图像以正确的宽度显示,但高度实际上非常小。我估计高度约为100px。但是当重新加载页面时,相同的图像将完美显示。
这是一个奇怪的问题,只发生在IE中。我是否需要在该代码中添加或删除任何内容?
干杯
答案 0 :(得分:2)
document.ready()可能在页面上加载了所有图像之前发生,因此报告的高度和宽度可以是0,或者如图所示,为100。
您需要等待页面的图像加载才能可靠地找到它们的尺寸,尤其是在IE上。