Получить высоту блока div, который является абсолютным и скрытым

Я читал и пытался решить эту проблему, но не могу найти решения.

Я пытаюсь получить высоту div, чтобы обновить высоту другого div и сделать классную анимацию jQuery. Все это запускается запросом ajax (который работает нормально).

Вот живой пример

Я не знаю, как получить высоту #bigBox, потому что он всегда возвращает 0.

отредактировано

Все решения сработали, но они не дали того, что я ожидал. Мне нужно рассчитать высоту после #bigBox затухания.

Наконец-то мне это удалось.

Я меняю класс .toToggle на div #bigBox вместо того, чтобы находиться в родительском div. Это было сделано, чтобы родители не были display: none;. Теперь этот же элемент скрыт, поэтому он работает

Вот окончательное решение

Спасибо вам всем! : D


person alanszp    schedule 10.03.2013    source источник


Ответы (2)


Вы скрываете его перед измерением высоты, поэтому при измерении высоты он будет равен «0».

попробуйте вместо этого:

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

    alert(height);

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

см. скрипку.

person Tomer    schedule 10.03.2013
comment
Я получаю высоту после начала анимации, потому что, когда div исчезает, содержимое div меняется ... Вот почему мне все равно нужно получить высоту, tnx! - person alanszp; 11.03.2013

Скрытые элементы по определению не имеют высоты. Вам нужно, например, расположить его абсолютно и за пределами экрана (см. Ниже), показать его, получить высоту и снова скрыть.

.offscreen {дисплей: блок; позиция: абсолютная; слева: -999em; }

Обновление: посмотрев более внимательно на вашу демонстрацию, почему бы просто не получить высоту до начала анимации?

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

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

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

    $(".toToggle").fadeIn(500);
});
person isherwood    schedule 10.03.2013
comment
Я получаю высоту после начала анимации, потому что, когда div исчезает, содержимое div меняется ... Вот почему мне нужно получить высоту: D - person alanszp; 11.03.2013
comment
Затем вам нужно будет переработать вашу функцию, чтобы иметь явные шаги, один из которых должен оставить элемент видимым и закадровым, как я описал. - person isherwood; 11.03.2013