首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery height()函数返回的值不准确

问jQuery height()函数返回的值不准确
EN

Stack Overflow用户
提问于 2011-10-23 16:32:54
回答 2查看 1.9K关注 0票数 5

我使用jQuery来测量两个div的高度(在文档加载之后),然后使较短的div等于较高的div的高度。然而,其中一个div中有一个图像,并且它似乎正在测量div的高度,就好像图像不在那里一样(如果我在一切加载后删除图像,高度是准确的)。下面是我的代码:

代码语言:javascript
复制
$(document).ready(function() {
    var rheight = $('#random').height();
    var qheight = $('#quote').height();
    if(rheight > qheight) $('#quote').height(rheight);
    else $('#random').height(qheight);
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-23 16:51:44

如果您提前知道了图片的高度,可以设置图片标签的height属性。这将允许浏览器在图像加载之前以正确的高度呈现div,这意味着高度检查应该按预期工作。

根据its documentation的说法,使用jQuery挂接load事件可能会有问题。显然,该事件“可以停止触发已经存在于浏览器缓存中的图像”。

票数 3
EN

Stack Overflow用户

发布于 2011-10-23 16:37:28

如果在图像加载完成之前测量<div>,则不会考虑其高度。您可以使用load事件处理程序等待图像准备就绪:

编辑: load事件处理程序可以在window对象本身上注册,以避免克里斯指出的可靠性缺陷:

代码语言:javascript
复制
$(window).load(function() {
    var rheight = $("#random").height();
    var qheight = $("#quote").height();
    if (qheight > rheight) {
        $("#quote").height(rheight);
    } else {
        $("#random").height(qheight);
    }
});
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7865143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档