我一直在阅读并试图解决这个问题,但我找不到解决方案。
我正在尝试获得div的高度,更新另一个div的高度并制作很酷的jQuery动画。这都是由ajax请求触发的(工作正常)。
我不知道如何获得#bigBox
的高度,因为它总是返回0.
编辑
所有的解决方案都有效,但它们并没有达到我的预期。
我需要在#bigBox
淡出后计算高度。
最后我设法做到了。
我将班级.toToggle
更改为div #bigBox
,而不是将其更改为父级div。这样做是为了避免父母为display: none;
。现在隐藏了相同的元素,因此它可以正常工作
谢谢大家! :d
答案 0 :(得分:2)
在取高度之前你是隐藏的,所以当你取高度时它会是'0'。
试试这个:
var height = $("#bigBox").height();
$(".toToggle").fadeOut(600, "swing",function(){
alert(height);
$(".toToggle").fadeIn(500);
});
答案 1 :(得分:0)
根据定义,隐藏元素没有高度。例如,您需要将其绝对放置在屏幕外(见下文),显示它,获取其高度,然后再次隐藏它。
.offscreen { 显示:块; 位置:绝对; 左:-999em; }
更新:仔细观察您的演示后,为什么不在动画开始前获得高度?
var height = $("#bigBox").height();
$(".toToggle").fadeOut(600, "swing", function () {
alert(height);
$(".toToggle").fadeIn(500);
});