在jQuery效果(例如slideDown)之前确定元素包装器的最终大小
Determine final size of element wrapper before jQuery effect (e.g. slideDown)
谁能告诉我如果(以及如何)jQuery决定一个元素的最终大小,是动画与内置的效果函数,如slideDown()
?
给出一个实际的例子http://jsfiddle.net/GgCLa/:
CSS:#wrapper { display: block; }
#wrapper p {
display: none;
}
#wrapper p:first-child {
display: block;
}
HTML: <div id="wrapper">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Curabitur et quam urna, ultrices commodo odio.</p>
<p>Nulla at tellus augue, varius dignissim nunc. Donec mattis
est quis sem iaculis scelerisque. .</p>
</div>
<input type="button" name="button" id="button" value="Clickey" />
JAVASCRIPT: $(document).ready(function() {
$("input").toggle(
function() { $("#wrapper p:last").slideDown("fast"); },
function() { $("#wrapper p:last").slideUp("fast"); }
);
});
是否有一种方法可以在动画完成之前确定包装器的最终高度?
在Anthony Jack的帮助下解决了这个问题。要在动画触发之前获得包装器的最终大小,包装器中包含的所有元素的高度需要像这样求和:
var calcHgt=0;
$("#wrapper *").each(function() {
calcHgt+=$(this).height();
});
更新小提琴:http://jsfiddle.net/GgCLa/4/
. outerheight()和。height()似乎都返回元素的高度,即使该元素当前是隐藏的。
相关文章:
- 如何在jQuery中包装两个元素的组
- 包装元素中的所有元素,直到出现特定标记
- 如何包装元素的所有子元素
- 如何使用链接包装元素覆盖它事件
- 当外部链接是内部的另一个链接时,外部链接不会包装元素
- jQuery中根据其数据属性包装元素的最佳方法是什么?
- 高阶组件和访问包装元素的子元素
- 使用jQuery包装元素组
- 使用jQuery包装元素
- 防止IE在contenteditables中包装P元素
- 在jQuery中选择包装元素
- 为什么使用jQuery元素包装元素要快得多?
- 如何在angular中使用数据绑定指令来包装元素
- 如何获取onclick包装元素的id
- 在包装元素中呈现更新的数据
- 单击iframe包装元素上的event
- 如何使用javascript在字符周围包装元素
- 如何在html字符串var中包装元素
- AngularJS组件可以修改它们的包装元素吗?
- 向传递给函数的jQuery包装元素添加元素