Есть ли способ получить конечное значение анимации в jQuery? - PullRequest
0 голосов
/ 22 апреля 2010

У меня есть скрипт, который анимирует элемент следующим образом:

var item_height = $('#item').height();
$('#item').height(0);

$('#item').animate({ height: item_height });

Теперь предположим, что анимация должна быть остановлена ​​до ее завершения:

$('#item').stop();

Как я могу получить конечное значение анимации? (Общая высота элемента, когда анимация была бы завершена)

Ответы [ 2 ]

1 голос
/ 22 апреля 2010

Вы можете использовать .stop(true,true), чтобы очистить очередь анимации и автоматически «перейти к концу» анимации (вместо того, чтобы просто остановиться в ее строке)

Вы также можете сохранитьзначение, которое вы хотите позже, используя .data():

var $item = $('#item'); // rather than query 3 times, just save this
var item_height = $item.height();
$item.data('origHeight', item_height);
$item.height(0);

$item.animate({ height: item_height });

// later
$item.stop(); 
$item.height($item.data('origHeight'));
0 голосов
/ 22 апреля 2010

Думаю, я понял это. Был опубликован еще один аналогичный вопрос, и ответ, который помог - здесь .

Не стесняйтесь, чтобы закрыть этот вопрос, как обман.

...