2010-12-30 4 views
1

Я хочу анимировать div сверху вниз. Я думаю, что идея - оживить высоту от 0 до ее ширины. Но до того, как он будет показан, я не знаю визуализированную ширину, как написать код, чтобы оживить это?jquery: анимация на высоте div

Это как: $.animate({"width":"auto"})

+0

пожалуйста clairfy, вы пытаетесь открыть DIV из прячась от верхней части страницы? или со стороны? не понимая, что вы хотите здесь. «Высота от 0» означает сверху, слева, справа или внизу? – jondavidjohn

ответ

4

Вы должны захватить ширину с помощью .width() как так:

var $el = $("#elementID"); 
$el.animate({height: $el.width()}); 
3

с использованием .width() не возвращает полную вычисленную ширину, включая границы/дополнения и т.д .. для этой цели я бы использовал .outerWidth() и передал необязательное значение true, чтобы включить поля.

$('element').animate({height: $('element').outerWidth(true)}); 
+0

Ах, но посмотрите, что установка высоты не будет устанавливать прописку/поля, так что при условии, что отступы, поля и границы равны для ширины и высоты, использование '.width()' было бы более правильным;) –

+0

hah, there много «принято» на этот неопределенный вопрос;) ... хорошее шоу! – jondavidjohn

0
$("#elementID").animate({height:$(this).width()}); 
+0

@jondavidjohn: Я не понимаю, почему вы использовали '$ (" # elementID ")' first и '$ (this)' second ... они оба находятся в одной области, и поэтому '$ (this)' doesn 't обязательно ссылаться на '$ (" # elementID ")' –

+0

Вы правы! – jondavidjohn

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