获取窗口上隐藏流体元素的高度使用jQuery调整大小
我正在建立一个内容丰富的WordPress博客,其中有一个文章边栏,其中显示了hover上那篇文章的摘录。我使用jQuery获取元素高度(以避免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();
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:…})更好,而且当代码变大时,您还可以从其他改进中获益,但这只是一个开始。祝你好运