2016-02-25 120 views
0

我想如何動畫的第一個腳本的scrollTop函數,但每次我做到這一點,第二個腳本,使div全高的頁面不再工作。每次ScrollTop動畫jquery

$('body').animate({ 
       scrollTop: top 
      }, function() { 
       $prev.addClass('current'); 
      }); 

所以這成爲

$('body').animate({ 
       scrollTop: top 
       easing:'easeOutElastic' 
      }, function() { 
       $prev.addClass('current'); 
      }); 

第二個腳本停止工作。

http://jsfiddle.net/swm53ran/479/

+1

你以前'easing' top'後',需要一個逗號。對象文本中的每個鍵:值對以逗號分隔 –

+0

不知道我明白這個問題:Jsfiddle似乎工作正常。 – mix3d

+0

我添加了一個css聲明:'.current {background-color:red}'以確保正在添加'.current'類。它在滾動完成後發生,不確定是否有意或無意,但正在添加。您嘗試編輯緩動功能的問題是? – mix3d

回答

1

請還包括jQuery的ui.js緩和作用。 然後你就可以在語法.animate(properties [, duration ] [, easing ] [, complete ])

在您的例子將是使用緩動效果 -

$('body').animate({ 
    scrollTop: top 
    },1000,'easeOutElastic', function() { 
    $prev.addClass('current'); 
    }); 
+0

謝謝先生!有用!但是,如果我想添加效果而不是緩動,這將是向滾動添加效果的正確語法,如jquery-ui.js的淡入淡出效果? –

+0

由於animate方法不採用這種參數,因此可以在回調函數中執行任何效果。 – Avi

+0

你能輸入幻燈片效果的代碼嗎? –