jquery animate: как динамически получить высоту элемента для анимации? - PullRequest
0 голосов
/ 31 августа 2011

Как я могу динамически получить высоту элемента для animate()?

Это мой код, чтобы показать больше скрытого текста в элементе.Проблема в том, что мне нужно зафиксировать высоту анимации (например, 300 пикселей) к фиксированному числу, и текст постоянно меняется, поэтому я не знаю, как долго это будет.

$('.toggle-slide').click(function() {

      var object = $(this);
      var object_target = $('.text-about');
      var target_height = object_target.height();

     object_target.animate({
        height:'300px'
      }, 1500 );


      return false;
 });

Так что я думаюфактическая высота элемента должна быть получена динамически, тогда я могу передать этот параметр в animate().

Но как мне получить эту динамическую высоту?

Или, может быть, у вас есть другие идеи получше?

Вот мое тестирование ссылка .

1 Ответ

1 голос
/ 31 августа 2011
$('.toggle-slide').click(function() {

      var object = $(this);
      var object_target = $('.text-about');
      var target_height = object_target.height('100%').height();

      object_target.height('200px');

      object_target.animate({
        height: target_height + 'px'
      }, 1500 );


      return false;
 });

Я заставил это работать, сначала сделав все это видимым, затем взяв высоту, затем вернувшись к 200px и анимируя:)

возможно мерцание на более медленных машинах, но это идея

...