获取窗口上隐藏流体元素的高度使用jQuery调整大小

获取窗口上隐藏流体元素的高度使用jQuery调整大小,jquery,wordpress,resize,height,fluid-layout,Jquery,Wordpress,Resize,Height,Fluid Layout,我正在建立一个内容丰富的WordPress博客,其中有一个文章边栏,其中显示了hover上那篇文章的摘录。我使用jQuery获取元素高度(以避免jQuery常见的滑动向下跳跃问题),然后使用以下代码隐藏元素: function articleHeight() { $(".article").each(function() { $(this).css("height", $(this).height()); }); } articleHeight();

我正在建立一个内容丰富的WordPress博客,其中有一个文章边栏,其中显示了hover上那篇文章的摘录。我使用jQuery获取元素高度(以避免jQuery常见的滑动向下跳跃问题),然后使用以下代码隐藏元素:

function articleHeight() {
    $(".article").each(function() {
            $(this).css("height", $(this).height());
    });
}

articleHeight();
然后使用以下代码尝试在调整窗口大小时获取新高度:

$(window).resize(function() {
    articleHeight();
});
第一部分工作得很好,但它不会重新计算大小,导致它要么提供太多的空间,要么在调整大小时将摘录剪掉

我意识到,由于元素已经隐藏,它可能无法获得新的高度,但我通过在jQuery中取消隐藏元素来测试这一点,它仍然不会重新计算


这方面的任何想法都会非常有用。非常感谢。

有没有理由给
$(这个)
它已经有了同样的高度

$(this).css("height", $(this).height() );
您必须将其与新尺寸的
$(window.height()
进行比较,然后使用一些数学来区分它

例如:

$(this).css("height", $(window).height() - 200 );

您可以将
200
更改为适合您的页面的内容。

您可能会发现outerlight适合您,但我更倾向于使用display属性。内联块可能会为您修复它

以下是jqueryouterheight文档

我不完全确定UI将如何工作,但我已经创建了一个JSFIDLE,您可以使用它来解决您的问题,我希望:

您的文章元素现在通过额外的功能进行了扩展,您可以使用这些功能实现所需的行为并存储每个元素的状态

当然,使用addClass()比使用css({height:…})更好,而且当代码变大时,您还可以从其他改进中获益,但这只是一个开始。祝你好运