首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用jQuery调整窗口大小时获取隐藏的流体元素的高度

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

Stack Overflow用户
提问于 2011-12-04 15:23:08
回答 3查看 582关注 0票数 0

我正在建立一个高内容的WordPress博客,有一个侧栏的文章,显示该文章的摘录在悬停。我使用jQuery来获取元素高度(以避免slideDown中常见的跳转问题),然后用下面的代码隐藏元素:

代码语言:javascript
复制
function articleHeight() {
    $(".article").each(function() {
            $(this).css("height", $(this).height());
    });
}

articleHeight();

然后执行以下代码,在调整窗口大小时尝试获取新的高度:

代码语言:javascript
复制
$(window).resize(function() {
    articleHeight();
});

第一部分工作得很好,但它不会重新计算大小,导致它要么提供太多的空间,要么在调整大小时切断摘录。

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

任何关于这方面的想法都会非常有帮助。非常感谢。

EN

回答 3

Stack Overflow用户

发布于 2011-12-04 18:47:55

有没有理由让$(this)保持原来的高度?

代码语言:javascript
复制
$(this).css("height", $(this).height() );

对于新的大小,您必须将其与$(window).height()进行比较,然后使用一些数学方法来区分它。

例如,如下所示:

代码语言:javascript
复制
$(this).css("height", $(window).height() - 200 );

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

票数 0
EN

Stack Overflow用户

发布于 2011-12-04 18:56:11

您可能会发现outerHeight适合您,但我更倾向于使用display属性。内联块可能会帮你解决这个问题。

下面是jquery outerHeight文档http://api.jquery.com/outerHeight/

票数 0
EN

Stack Overflow用户

发布于 2011-12-04 19:12:04

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

http://jsfiddle.net/RqqpK/1/

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

当然,使用addClass()比使用css({height:...})更好,而且当代码变得更大时,还会有其他一些改进,但这只是一个开始。祝好运

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8373919

复制
相关文章

相似问题

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