在使其可见之前如何知道 div 高度?

发布于 2024-12-12 03:15:59 字数 199 浏览 0 评论 0原文

我有一个滑动打开的可见/滑动关闭的隐藏 div。

这种效果是通过 animate()ing div 的高度来实现的。

问题是 div 被多个内容(不同的文本段落)共享,而这些内容的高度事先未知。

那么,当我放入这样的内容时,我如何知道 div 的高度,以便我可以使用 animate('height':'-px') 来滑动打开 div?

I have a slide-open visible / slide-close hidden div.

That effect is achieved by animate()ing div's height.

The problem is that div is shared by multiple content (different text paragraphs) which their height's are not known ahead.

So how do I know how the height of the div will be when I put in such content so that I can animate('height':'-px') to slide-open the div?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

感性 2024-12-19 03:15:59

只需使用 slideDown() 即可,无需计算高度。

您可以做的唯一其他方法(但我不知道您的具体情况)是 clone() 元素并将其附加到文档中,将其 height 设置为auto,然后获取其height()

var cloned = $('#some-element').clone();

cloned.css({ position: 'absolute', left: '-9999px', height: 'auto' });

var height = cloned.height();

cloned.remove();

Just use slideDown() and you won't need to calculate the height.

The only other way you could do (but I don't know your exact circumstances) is to clone() the element and append it to the document, set its height to auto, and then get the height() of that.

var cloned = $('#some-element').clone();

cloned.css({ position: 'absolute', left: '-9999px', height: 'auto' });

var height = cloned.height();

cloned.remove();
陌生 2024-12-19 03:15:59

之前对我有用的一个技巧是将元素的不透明度设置为非常低的值,例如 0.01。这会在元素上执行 show,但如果您的不透明度足够低,它在页面上几乎不会被注意到。

One trick that worked for me before is to set the element's opacity to something really low, like 0.01. This performs a show on the element, but if your opacity is sufficiently low, it will barely be noticeable on the page.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文