图像在Internet Explorer的所有版本上显示不正确

时间:2011-10-26 09:18:14

标签: javascript

我有以下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中。我是否需要在该代码中添加或删除任何内容?

干杯

1 个答案:

答案 0 :(得分:2)

document.ready()可能在页面上加载了所有图像之前发生,因此报告的高度和宽度可以是0,或者如图所示,为100。

您需要等待页面的图像加载才能可靠地找到它们的尺寸,尤其是在IE上。