Теперь гораздо понятнее. Я просто не знаком с MooTools, поэтому не догадался что такое tween. computedStyle не подойдет, потому что он заработает только если измеряемый объект уже на странице. Тогда надо так.
Физические параметры внешнего контейнера не трогаете.
1. Происходит событие, вызывается обработчик.
2. Обработчик проверяет есть ли данные внутри того блока, в который надо загрузить. Если надо загрузить то собираете то что надо загрузить (responseText очевидно).
Тут возникает проблема. Мы не знаем размер внешнего блока, и внутреннего тоже. Тогда вы пошли по правильному пути наверно сначала. Надо сделать высоту внешнего 0, затем загрузить туда Ответ, затем измерить высоту ответа с помощью computed Style (надо нарисовать, иначе не сработает), затем сбросить высоту внешнего блока elem.style.height = "", затем внутренний блок проанимировать (высоту мы уже знаем), но тут тоже есть одно но. Фирменный для IE currentStyle не посчитает в пикселях высоту если она не была задана в CSS, он скажет auto, так что в IE Это работать не будет. Хотя с ClientHeight Наверно получится, суть в том что надо сначала поместить -> измерить - > проанимировать до измеренного (возможно предварительно удалив)
Как еще высоту контента узнать, не знаю. Может у вас однотипный блоковый контент например, и высоту блока всегда одна, можно вручную посчитать как вариант, потом делать высоту в зависимости от кол-ва блоков.
А лучше вообще не анимировать высоту )) Я конечно зануда, но "ездящие" сайты не очень нравятся, я б прозрачность плавно нагнал, а высота пусть мгновенно появляется))
__________________
readOnly
Последний раз редактировалось poorking, 25.04.2011 в 15:38.
|