2013-03-10 2 views
1

Я читал и пытался решить эту проблему, но я не могу найти решение.Получить высоту div, которая является абсолютной позицией и скрытой

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

Here is a live example

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

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

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

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

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

Here is the final solution

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

ответ

2

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

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

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

    alert(height); 

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

see fiddle.

+0

Я получаю высоту после начала анимации, потому что когда div исчезает, содержимое div меняется ... Вот почему мне нужно получить высоту, tnx в любом случае! – alanszp

0

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

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

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

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

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

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

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

Я получаю высоту после начала анимации, потому что когда div исчезает, содержимое div изменяется ... Вот почему мне нужно получить высоту: D – alanszp

+0

Тогда вам нужно будет переработать свою функцию чтобы иметь явные шаги, один из которых должен оставить элемент видимым и вне экрана, как я описал. – isherwood

Смежные вопросы