2017-07-02 17 views
0

簡單的問題,但我找不到一種方法來做到這一點。我有一個滾動頁面的元素一個jQuery動畫:jQ動畫的易用性

$('html, body').animate({scrollTop: $("#element").offset().top},1000); 

我希望動畫有一個緩慢的開始和結束快(易於在CSS)。它應該像這樣工作:

$('html, body').animate({scrollTop: $("#maine").offset().top},1000, "ease-in"); 

有沒有什麼辦法可以做到這一點?

+1

你能做到這一點有兩種動畫的步驟,如果你不想使用jquery UI。基本上是一個.animate({scrollTop:($ maine.top - current)* .1 + current},500).animate({original},200) – aduss

+0

Aduss的回答是正確的,並且不使用外部庫如animate.css – JonLuca

回答

0

只有兩種純的jQuery可用緩動函數:線性擺動

單擊黑盒子,看看它是如何工作的擺動:https://jsfiddle.net/o95dq69m/

$(this).animate({'top': topVal}, 500, 'swing', function(){}); 

如果你不害怕使用額外的庫,繼續前進,嘗試jQuery的UI的,有一噸寬鬆的那裏提供,功能類似於easeInExphttps://jsfiddle.net/o95dq69m/1/

$(this).animate({'top': topVal}, 500, 'easeInExpo', function(){});