【问题标题】:Get height of image when refreshing刷新时获取图像高度
【发布时间】:2010-12-12 03:10:45
【问题描述】:

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

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

非常基础。但是我很困惑。
如果我按 F5,我会得到以下结果:
火狐:383 像素
IE 8:30 像素
铬:0px

如果我通过链接访问该页面:
火狐:383 像素
IE 8:383 像素
铬:383 像素

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

【问题讨论】:

    标签: jquery html dimensions


    【解决方案1】:

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

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

    $(window).load(function() {
        alert($('#image').height());
    })
    

    【讨论】:

    • 非常好!我猜图片是在我点击链接时被缓存的,因此它能够确定所有浏览器的大小。
    【解决方案2】:

    尝试等待图像完全加载

        var img = document.getElementById("image");
        img.onload = function () {
        alert($('#image').height());
        };
    

    【讨论】:

    【解决方案3】:
    $(document).ready(function() {
    
        $('#image').bind("load", function() {
           alert($('#image').height());
        });
    
    })
    

    【讨论】:

      猜你喜欢
      • 2021-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-19
      • 2010-11-18
      • 1970-01-01
      • 1970-01-01
      • 2020-11-01
      相关资源
      最近更新 更多