我在元素中使用 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/