Медленно перемещаясь из положения A в положение B с анимацией - PullRequest
27 голосов
/ 02 июня 2009

У меня есть простая анимация jQuery, использующая fadein, и она работает, но однажды исчезла ... Я хочу переместить, используя свойство TOP на 30 пикселей вверх, но медленно.

Это то, что я имею до сих пор:

$('#Friends').fadeIn("slow");

У меня загружены jQuery и jQuery UI ...

Ответы [ 3 ]

62 голосов
/ 02 июня 2009

Используйте jquery animate и задайте ему длительный срок, скажем 2000

$("#Friends").animate({ 
        top: "-=30px",
      }, duration );

- = означает, что анимация будет относительно текущей верхней позиции.

Обратите внимание, что элемент Friends должен иметь позицию, относящуюся к относительному в css:

#Friends{position:relative;}
20 голосов
/ 02 июня 2009

Вы можете анимировать его после завершения fadeIn, используя обратный вызов, как показано ниже:

$("#Friends").fadeIn('slow',function(){
  $(this).animate({'top': '-=30px'},'slow');
});
2 голосов
/ 02 ноября 2016

Я не понимаю, почему другие ответы касаются относительных изменений координат, а не абсолютных, как OP, заданный в заголовке.

$("#Friends").animate( {top:
  "-=" + (parseInt($("#Friends").css("top")) - 100) + "px"
} );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...