JQuery動畫外掛Velocity.js釋出:更快的動畫切換速度

infoq發表於2014-05-08

  5月3日,Julian在其GitHub上釋出了Velocity.js。Velocity.js是一款動畫切換的jQuery外掛,它重新實現了jQuery的$.animate()方法從而加快動畫切換的速度。Velocity.js只有7k的大小,它不僅包含了$.animate()的所有功能,並且還包含了顏色切換、轉換(transform)、迴圈、緩動、CSS切換、Scroll功能,它是jQueryjQuery UICSS變換 在動畫方面的最佳組合。Velocity.js支援IE8+、Chrome、Firefox等瀏覽器,並支援Andriod以及IOS。Velocity.js在內部實現中使用了jQuery的$.queue()方法,因此它比 jQuery的$.animate()、$.fade()、$.delay()方法更加流暢,其效能也高於CSS的animation屬性,具體原理讀者可以參考這篇文章

  Velocity.js包含兩個輸入引數,第一個引數用於規定產生的動畫效果,第二個引數為可選引數,用於規定動畫的額外選項。具體如下:

$("div").velocity({ 
    property1: value1,
    property2: value2
}, {
    /* Default options */
    duration: 400,
    easing: "swing",
    queue: "",
    complete: null,
    loop: false,
    delay: false,
    display: false,
    mobileHA: true
});

  Velocity.js同樣支援jQuery的引數簡寫語法:$element.velocity(propertyMap [, duration] [, easing] [, complete]):,比如:

$("div").velocity({ left: 100 }, 1000);
$("div").velocity({ left: 100 }, 1000, "swing");
$("div").velocity({ left: 100 }, "swing");

  Velocity.js官方宣傳Velocity的目標是成為DOM中動畫切換方面的領導者。讀者可以從這裡下載最新版本的Velocity.js,由於Velocity.js的方法簽名和$.animate()一樣,因此只需將方法名從animate改為velocity即可。在其官方網站給出了幾個絢麗的Demo,讀者可以參考學習。

 參考文件

  1. http://julian.com/research/velocity/
  2. http://davidwalsh.name/css-js-animation
  3. https://news.ycombinator.com/item?id=7663775

相關文章