jQuery 動畫其實原理上本身是不復雜的。量變產生質變,參雜了大量的設計技巧,同時通過擴展大量的便捷方式加大了邏輯上的難度,我們這章深入的認識下 jQuery 的 API 的具體的含義以及實現上的一些細節。
jQuery 動畫是通過 animate 這個 API 設置執行的,其內部也是按照每一個 animate 的劃分封裝了各自動畫組的行為,包括數據過濾、緩動公式、一些動畫默認參數的設置、元素狀態的調整、事件的處理通知機制、執行等等,換句話說,我們可以把 animate 看作一個對象,對象封裝自己的一系列屬性與方法,jQuery 可以支持連續動畫,那么 animate 與 animate 之間的切換就是通過隊列 queue,這個之前就已經詳細的解釋過了。
動畫的參數
jQuery的內部的方法都是針對 API 的處理范圍設計的,我們看看 Animation 方法的支持情況:
.animate( properties [, duration ] [, easing ] [, complete ] ) .animate( properties, options )
簡單的來說,就是把一對的參數丟到 animate 方法里面,然后 animate 就開始執行你參數規定的動畫了,那么動畫每執一次就會通過回調通知告訴開發者,具體有 complete/done/fail/always/step 接口等。
理解定義(代碼參考右邊)
book.animate({ opacity: 0.25, left: '50', height: 'toggle' }, { duration :1000, specialEasing: { height: 'linear' }, step: function(now, fx) { console.log('step') }, progress:function(){ console.log('progress') }, complete:function(){ console.log('動畫完成') } })
首先,動畫的參數都是最終值,都是相對數據。
如上 div 元素的起始:
初步理解 API 的一些設置后,我們下一節研究下動畫的變換算法。
請驗證,完成請求
由于請求次數過多,請先驗證,完成再次請求
打開微信掃碼自動綁定
綁定后可得到
使用 Ctrl+D 可將課程添加到書簽
舉報