获得绝对定位和隐藏的div的高度

时间:2013-03-10 18:35:26

标签: jquery html height hidden absolute

我一直在阅读并试图解决这个问题,但我找不到解决方案。

我正在尝试获得div的高度,更新另一个div的高度并制作很酷的jQuery动画。这都是由ajax请求触发的(工作正常)。

Here is a live example

我不知道如何获得#bigBox的高度,因为它总是返回0.

编辑

所有的解决方案都有效,但它们并没有达到我的预期。 我需要在#bigBox淡出后计算高度。

最后我设法做到了。

我将班级.toToggle更改为div #bigBox,而不是将其更改为父级div。这样做是为了避免父母为display: none;。现在隐藏了相同的元素,因此它可以正常工作

Here is the final solution

谢谢大家! :d

2 个答案:

答案 0 :(得分:2)

在取高度之前你是隐藏的,所以当你取高度时它会是'0'。

试试这个:

var height = $("#bigBox").height();
$(".toToggle").fadeOut(600, "swing",function(){

    alert(height);

    $(".toToggle").fadeIn(500);
}); 

see fiddle

答案 1 :(得分:0)

根据定义,隐藏元素没有高度。例如,您需要将其绝对放置在屏幕外(见下文),显示它,获取其高度,然后再次隐藏它。

.offscreen {   显示:块;   位置:绝对;   左:-999em; }

更新:仔细观察您的演示后,为什么不在动画开始前获得高度?

http://jsfiddle.net/97Xx5/5/

var height = $("#bigBox").height();

$(".toToggle").fadeOut(600, "swing", function () {
    alert(height);

    $(".toToggle").fadeIn(500);
});