А причем здесь раздел AJAX?
Берем 2 HTML-контейнера блочного типа, один вложен в другой. Добавляем элемент, способный получать фокус ввода, например, гиперссылка, для переключения состояния открыт/закрыт. Добавляем обработчик события нажатия ссылки, по которому определяем через offsetHeight высоту вложеного блока и по таймеру соответственно постепенно меняем высоту внешнего блока. Для внешнего блока нужно не забыть установить CSS-свойство overflow: hidden; и чтобы избежать трудностей, по возможности, не использовать вертикальный margin и padding.
Ну а если лень самому писать, возьми, например, jQuery и используй метод slideToggle.
|