1

我正在尝试使用 jquery 获取图像的高度

$(document).ready(function() {
    alert($('#image').height());
})

很基础。然而我很困惑。
如果我按 F5,我会得到以下结果:
Firefox: 383px
IE 8: 30px
Chrome: 0px

如果我通过链接访问该页面:
Firefox:383px
IE 8:383px
Chrome:383px

383 显然是正确的值。但是为什么我在刷新时会得到错误的值?

4

3 回答 3

3

document.ready在 DOM 加载后触发,但不一定在图像和 CSS 加载后触发。如果您在 上运行该代码window.onload,您应该在浏览器中获得一致的结果。

尝试改用 jQuery 的load处理程序:

$(window).load(function() {
    alert($('#image').height());
})
于 2010-12-11T19:00:30.700 回答
3

尝试等待图像完全加载

    var img = document.getElementById("image");
    img.onload = function () {
    alert($('#image').height());
    };
于 2010-12-11T19:05:16.370 回答
0
$(document).ready(function() {

    $('#image').bind("load", function() {
       alert($('#image').height());
    });

})
于 2010-12-11T19:08:41.450 回答