javascript - 测量离页元素的高度

标签 javascript jquery outerheight

我在元素中使用 Ajax。我想根据它们的高度来决定将它们放在哪里(想想装箱类型的算法)。

当我这样循环遍历我的元素时,对于 outerHeight,我总是得到 0:

posts.each(function(i, e) {
    var elementHeight = $(e).outerHeight();
    // elementHeight is always 0
});

如何获取元素的显示高度?


看来我必须将元素添加到页面才能获得高度,这是有道理的。
在尽可能简单地对用户不可见的情况下执行此操作的最佳方法是什么?

最佳答案

将帖子附加到一个隐藏(显示:无)div 元素,然后遍历它们以获取它们各自的outerHeight 值。

HTML

<div id="postContainer"></div>

CSS

#postContainer { display: none;}

JS

var cont = $('#postContainer'), postsLength = posts.length;
posts.each(function(i, e) {
    cont.append(e);
    if (!--postsLength) calcOuterHeight();
});

function calcOuterHeight(){
    cont.find('.posts').each(function(i, e){
        var oh = $(e).outerHeight();
    })
}

关于javascript - 测量离页元素的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12910319/

相关文章:

javascript - Bootstrap 图像滑动时更改 div 背景颜色

javascript - JQuery outerHeight() 在隐藏时返回非零(显示 :none) element?

javascript - jQuery 在 resize() 之后错误的 outerWidth() 和 outerHeight()

javascript - JMS 连接杀死 websocket

获取运行时默认语言环境的 JavaScript 标准 API?

javascript - jQuery 改变重复 Action

jquery - 如何创建 <g :select> in Grails that I can type in to search

javascript - 在 JavaScript 中动态创建复选框

javascript - 将工作的 Ruby on Rails 表单转换为 AJAX

javascript - 在 jQuery 中查找高度