2012-07-09 84 views
0

所以我在狩獵,試圖找出優化Jquery的.animate(scrollTo:值)的最佳途徑功能。拿這個例子:優化jQuery的動畫

$('#returnToTop').on('click', function(){ 
     $('html, body').animate({ 
      scrollTop: 0 
     }, 'slow'); 
    }); 

在這裏你有一個div作爲一個「頂部」按鈕,當點擊時,將頁面滾動回頂部。現在在複雜的頁面上,這是相當生澀,不光滑。我想知道是否有任何jQuery忍者可以啓發我們,究竟是什麼動畫功能。在簡單的頁面上,它很好,很流暢。

現在,我認爲它可能做一些計算方法,走下DOM,所以當它的複雜,它需要一段時間,看起來神經兮兮的。因此,這裏的問題的心臟:

在那裏我們可以採取任何措施,爲開發商提供的jQuery與精確的參數,將使它的計算更簡單,因此使得動畫更加平滑。如果提供的話,可能有一些重要的特定值會提供顯着的加速。

有沒有人有任何見解?

謝謝。

回答

4

jQuery的,「慢」是的時間量(600毫秒要準確)。如果它是一個大頁面,它需要跳躍到600毫秒的頂部。

如果你想使這部動畫以恆速獨立頁面的高度,持續時間設置爲t = offsetTop/k走每秒,其中的offsetTop是一樣的東西$(clickedElement).offset().top aproximatelly k個像素。

jQuery的也有一些插件來做到這一點在一條筆直的路。

+0

+1 ....很不錯的想法 – Jashwant 2012-07-09 21:41:25

+0

這實際上是更平滑的,但由於我的網頁的複雜性,它似乎還是有點生澀。我希望有人能啓發我們一些動畫函數的內部工作,試圖找出導致渲染速度放慢的原因。如果我們沒有收到任何迴應,我會將其標記爲正確。 – gabaum10 2012-07-10 17:06:03

+0

您可以嘗試一些javascript/css分析(例如使用Chrome開發人員工具)來查看是什麼影響了您的代碼。 – iurisilvio 2012-07-10 20:46:05