聊聊JS動(dòng)畫庫(kù):Velocity.js

Javascript動(dòng)畫
Javascript動(dòng)畫

前言

又到了炎熱的7月,很久沒有更新技術(shù)文章了轻黑,原因是上月月底實(shí)習(xí)結(jié)束,從公司離職琴昆。然后最近在弄自己的項(xiàng)目和考駕照氓鄙,為了下次公司的應(yīng)聘做準(zhǔn)備,送別了女朋友到外地业舍,哩哩啦啦半個(gè)月把一切事情都辦妥后玖详,還是靜下心來學(xué)習(xí)新技術(shù)和寫一寫技術(shù)文章把介,希望能繼續(xù)堅(jiān)持下去吧。

JS動(dòng)畫

隨著互聯(lián)網(wǎng)越來越豐富多樣蟋座,網(wǎng)頁(yè)端的美化和新技術(shù)層出不窮拗踢,作為一個(gè)網(wǎng)站的瀏覽者,更多吸引他們的除了保證網(wǎng)站的流暢之外還有各種炫酷的交互動(dòng)效向臀。

網(wǎng)頁(yè)的交互動(dòng)效大概分為 css動(dòng)畫巢墅,js動(dòng)畫

JS動(dòng)畫的優(yōu)點(diǎn)

既然我們大概了解了這兩類動(dòng)畫券膀,那么我們來分析下他們不同的優(yōu)點(diǎn)

  • css動(dòng)畫 由于css3可以根據(jù)css屬性自定義動(dòng)畫 所以這類動(dòng)畫的優(yōu)點(diǎn)就是不用進(jìn)行計(jì)算和更改dom 會(huì)顯得非常流暢君纫。
  • JS動(dòng)畫 js動(dòng)畫擁有強(qiáng)大的性能,并且優(yōu)于css動(dòng)畫的特點(diǎn)就是 既然是根據(jù)js來改變屬性值 所以沒有css那樣的局限性芹彬,可以實(shí)現(xiàn)更多的功能和動(dòng)效蓄髓,或許有人說js動(dòng)畫某些庫(kù)會(huì)很慢,其實(shí)js動(dòng)畫本質(zhì)很快舒帮,只是jquery讓它慢了下來会喝。因?yàn)橛袝r(shí)候由于配合jquery使用,所以由于jquery本身的一些功能玩郊,所以在實(shí)現(xiàn)的時(shí)候就會(huì)顯得很慢肢执。

velocity.js 使用方法

JS動(dòng)畫的庫(kù)非常多,各有各的有點(diǎn)译红,比如jquery自帶的animate動(dòng)畫還有 webGL,或者利用canvas预茄,SVG等實(shí)現(xiàn)其他效果,本次來講的就是眾多庫(kù)中的其中一個(gè) velocity.js 動(dòng)畫庫(kù)侦厚。

velocity.js 既可以單獨(dú)用JavaScript使用耻陕,也可以配合jquery使用,使用方法(注意先將velocity.js下載好后在body標(biāo)簽下引入刨沦,然后在新script標(biāo)簽中書寫以下代碼) :

//jquery方法 
var $div = $('div')
$div.velocity({屬性:值,屬性:值})
//javascript 方法
var oDiv = document.getElementById('div')
oDiv.velocity({屬性:值,屬性:值})

這里需要注意得幾點(diǎn):

1.里面的屬性不能加引號(hào)寫入淮蜈,而后面的值如果有字符串則加引號(hào),如果為整數(shù)則不用 比如 width:100 和 width:"100px"
2.里面的屬性值不可一次傳入多個(gè)已卷,比如在css中 padding:5px 5px 6px 5px;我們可以這樣傳入 但是在velocity中如果想傳入多個(gè)值則為 {paddingLeft:5, paddingRirght:5 省略}
3.里面的屬性值 如果是多個(gè)轉(zhuǎn)折的需要第二個(gè)首字母大寫 如上

velocity.js 詳細(xì)介紹

上面已經(jīng)講到 需要改變的值作為對(duì)象傳入velocity的第一個(gè)參數(shù),那么第二個(gè)參數(shù)就是 它的指定動(dòng)畫選項(xiàng)包含:

+ duration 持續(xù)時(shí)間
+ easing 緩動(dòng)方式
+ delay 延遲執(zhí)行
+ loop 循環(huán)次數(shù)
+ begin 和 complete 回調(diào)函數(shù)
+ display(值與css相同淳蔼,可設(shè)置為auto)

在講velocity指定動(dòng)畫選項(xiàng)前 我們先說一下velocity支持的值: px em rem % vm vh 或者 利用運(yùn)算符 *=2 表示當(dāng)前值的2倍 或者 /=2 等運(yùn)算方式

下面一個(gè)一個(gè)分析下指定動(dòng)畫選項(xiàng):

duration 持續(xù)時(shí)間

這個(gè)是代表動(dòng)畫的持續(xù)時(shí)間默認(rèn)值為毫秒(ms) 你可以這樣使用:

// 表示一秒內(nèi)將透明度從1到0
$div.velocity({opacity:0},{duration:1000})

也可以這樣使用:

// 效果相同
$div.velocity({opacity:0},1000)

velocity也自定了三種持續(xù)方式:slow(600ms) ,normal(400ms),fast(200ms),可根據(jù)自己實(shí)際需求使用

easing 緩動(dòng)方式

這個(gè)是代表著動(dòng)畫以何種方式進(jìn)行變換:ease-in-out(逐加逐減),ease-in (先加速后勻速),dase-out (先勻速后減速)

也可以根據(jù) 三角函數(shù)緩動(dòng) "easeInOutSine" 侧蘸,css貝塞爾曲線[0.17,0.67,0.83,0.67] 或者彈簧物理 [張力,摩擦力] 等值進(jìn)行實(shí)現(xiàn)

delay 延遲執(zhí)行

表示這個(gè)動(dòng)畫延遲多少時(shí)間執(zhí)行 默認(rèn)單位毫秒(ms)

// 五秒后執(zhí)行此動(dòng)畫
delay:5000

loop 循環(huán)次數(shù)

表示這個(gè)動(dòng)畫需要的循環(huán)次數(shù):

// 循環(huán)五次
loop:5
// 無限循環(huán)
loop:true 

begin和complete回調(diào)函數(shù)

這兩個(gè)表示在動(dòng)畫開始前和動(dòng)畫結(jié)束后所執(zhí)行的函數(shù):

begin:function(){ somgthing... },complete:function(){ somgthing... }

其他功能:

velocity還有一些其他功能鹉梨,這里就日后再說讳癌,比如:reverse(反轉(zhuǎn))scrolling(滾動(dòng))存皂,color(顏色)晌坤,transform(變換 包含scale縮放 rotate旋轉(zhuǎn) translation平移等)

結(jié)語(yǔ)

總之前端技術(shù)現(xiàn)在層出不窮逢艘,作為程序員的我們更應(yīng)學(xué)習(xí)一些新的技術(shù),既然熱愛骤菠,就永無止境它改,我日后還會(huì)分享一些技術(shù)文章,純自己個(gè)人總結(jié)商乎,也當(dāng)做個(gè)人技術(shù)筆記央拖,如果喜歡,不妨關(guān)注鹉戚,哪里有錯(cuò)鲜戒,私信給我,我會(huì)即是更改抹凳,希望能同大家一同進(jìn)步遏餐。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市赢底,隨后出現(xiàn)的幾起案子失都,更是在濱河造成了極大的恐慌,老刑警劉巖颖系,帶你破解...
    沈念sama閱讀 216,496評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嗅剖,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡嘁扼,警方通過查閱死者的電腦和手機(jī)信粮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來趁啸,“玉大人强缘,你說我怎么就攤上這事〔桓担” “怎么了旅掂?”我有些...
    開封第一講書人閱讀 162,632評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)访娶。 經(jīng)常有香客問我商虐,道長(zhǎng),這世上最難降的妖魔是什么崖疤? 我笑而不...
    開封第一講書人閱讀 58,180評(píng)論 1 292
  • 正文 為了忘掉前任秘车,我火速辦了婚禮,結(jié)果婚禮上劫哼,老公的妹妹穿的比我還像新娘叮趴。我一直安慰自己,他們只是感情好权烧,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評(píng)論 6 388
  • 文/花漫 我一把揭開白布眯亦。 她就那樣靜靜地躺著伤溉,像睡著了一般。 火紅的嫁衣襯著肌膚如雪妻率。 梳的紋絲不亂的頭發(fā)上乱顾,一...
    開封第一講書人閱讀 51,165評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音舌涨,去河邊找鬼糯耍。 笑死,一個(gè)胖子當(dāng)著我的面吹牛囊嘉,可吹牛的內(nèi)容都是我干的温技。 我是一名探鬼主播,決...
    沈念sama閱讀 40,052評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼扭粱,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼舵鳞!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起琢蛤,我...
    開封第一講書人閱讀 38,910評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蜓堕,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后博其,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體套才,經(jīng)...
    沈念sama閱讀 45,324評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評(píng)論 2 332
  • 正文 我和宋清朗相戀三年慕淡,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了背伴。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,711評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡峰髓,死狀恐怖傻寂,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情携兵,我是刑警寧澤疾掰,帶...
    沈念sama閱讀 35,424評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站徐紧,受9級(jí)特大地震影響静檬,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜并级,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評(píng)論 3 326
  • 文/蒙蒙 一拂檩、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧死遭,春花似錦、人聲如沸凯旋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至钠署,卻和暖如春糠聪,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背谐鼎。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工舰蟆, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人狸棍。 一個(gè)月前我還...
    沈念sama閱讀 47,722評(píng)論 2 368
  • 正文 我出身青樓身害,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親草戈。 傳聞我的和親對(duì)象是個(gè)殘疾皇子塌鸯,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • 在線閱讀 http://interview.poetries.top[http://interview.poetr...
    程序員poetry閱讀 114,359評(píng)論 24 450
  • 1.JQuery 基礎(chǔ) 改變web開發(fā)人員創(chuàng)造搞交互性界面的方式。設(shè)計(jì)者無需花費(fèi)時(shí)間糾纏JS復(fù)雜的高級(jí)特性唐片。 1....
    LaBaby_閱讀 1,335評(píng)論 0 2
  • 1.JQuery 基礎(chǔ) 改變web開發(fā)人員創(chuàng)造搞交互性界面的方式丙猬。設(shè)計(jì)者無需花費(fèi)時(shí)間糾纏JS復(fù)雜的高級(jí)特性。 1....
    LaBaby_閱讀 1,171評(píng)論 0 1
  • 通過jQuery费韭,您可以選燃肭颉(查詢,query)HTML元素星持,并對(duì)它們執(zhí)行“操作”(actions)抢埋。 jQuer...
    枇杷樹8824閱讀 655評(píng)論 0 3
  • 初識(shí)婷子羹令,是在我的高中時(shí)代. 高中時(shí)候考上了市重點(diǎn),學(xué)校離得遠(yuǎn)管得嚴(yán)损痰,大部分學(xué)生都選擇了住校福侈,第一次看見婷子是在宿...
    荼蘼月白閱讀 535評(píng)論 6 18