欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

聊聊JS動(dòng)畫庫 Velocity.js的使用

 更新時(shí)間:2018年03月13日 16:36:47   作者:dali_saymore  
本篇文章主要介紹了聊聊JS動(dòng)畫庫 Velocity.js的使用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

前言

又到了炎熱的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)頁端的美化和新技術(shù)層出不窮,作為一個(gè)網(wǎng)站的瀏覽者,更多吸引他們的除了保證網(wǎng)站的流暢之外還有各種炫酷的交互動(dòng)效。

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

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

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

  1. css動(dòng)畫 由于css3可以根據(jù)css屬性自定義動(dòng)畫 所以這類動(dòng)畫的優(yōu)點(diǎn)就是不用進(jìn)行計(jì)算和更改dom 會(huì)顯得非常流暢。
  2. 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)畫某些庫會(huì)很慢,其實(shí)js動(dòng)畫本質(zhì)很快,只是jquery讓它慢了下來。因?yàn)橛袝r(shí)候由于配合jquery使用,所以由于jquery本身的一些功能,所以在實(shí)現(xiàn)的時(shí)候就會(huì)顯得很慢。

velocity.js 使用方法

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

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.里面的屬性不能加引號寫入,而后面的值如果有字符串則加引號,如果為整數(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)講到 需要改變的值作為對象傳入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é)語

總之前端技術(shù)現(xiàn)在層出不窮,作為程序員的我們更應(yīng)學(xué)習(xí)一些新的技術(shù),既然熱愛,就永無止境,以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • JavaScript常用對象的方法和屬性小結(jié)

    JavaScript常用對象的方法和屬性小結(jié)

    JavaScript是基于對象的語言。我們知道,對象是由一組數(shù)據(jù)(JavaScript中稱之為屬性)和施加在這組數(shù)據(jù)上的方法組成的。JavaScript中還有一些不屬于任何對象的系統(tǒng)函數(shù)
    2012-01-01
  • 完美實(shí)現(xiàn)仿QQ空間評論回復(fù)特效

    完美實(shí)現(xiàn)仿QQ空間評論回復(fù)特效

    這篇文章主要介紹了完美實(shí)現(xiàn)仿QQ空間評論回復(fù)特效,非常的實(shí)用,附上實(shí)例代碼給大家,有需要的小伙伴參考下吧。
    2015-05-05
  • ECMAScript 創(chuàng)建自己的js類庫

    ECMAScript 創(chuàng)建自己的js類庫

    ECMAScript中最有意思,最強(qiáng)大的地方在于函數(shù)。最進(jìn)在完善自己的js類庫的時(shí)候發(fā)現(xiàn)我們經(jīng)常在用函數(shù),但真的很少有人懂得ECMAScript函數(shù)功能
    2012-11-11
  • 原生JS實(shí)現(xiàn)拖拽照片墻

    原生JS實(shí)現(xiàn)拖拽照片墻

    這篇文章主要為大家詳細(xì)介紹了原生JS實(shí)現(xiàn)拖拽照片墻,實(shí)現(xiàn)照片互換位置,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Sample script that deletes a SQL Server database

    Sample script that deletes a SQL Server database

    Sample script that deletes a SQL Server database...
    2007-06-06
  • js 操作css實(shí)現(xiàn)代碼

    js 操作css實(shí)現(xiàn)代碼

    雖說jquery支持css選擇器,可以把一些css規(guī)則放在js里,js無論如何是比css靈活的。但是js修改的是dom的htmlelement的stlye,是一個(gè)操作而非規(guī)則。
    2009-06-06
  • JS異步文件分片斷點(diǎn)上傳的實(shí)現(xiàn)思路

    JS異步文件分片斷點(diǎn)上傳的實(shí)現(xiàn)思路

    在項(xiàng)目中有時(shí)會(huì)遇到大文件上傳,經(jīng)常會(huì)出現(xiàn)鏈接超時(shí)的問題,所以就需要使用文件分片上傳的方式來上傳大文件。下面通過本文給大家介紹js異步文件分片斷點(diǎn)上傳的實(shí)例代碼,需要的的朋友參考下吧
    2016-12-12
  • JavaScript獲取當(dāng)前url路徑過程解析

    JavaScript獲取當(dāng)前url路徑過程解析

    這篇文章主要介紹了JavaScript獲取當(dāng)前url路徑過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • javascript和jquery中cookie的設(shè)置方法

    javascript和jquery中cookie的設(shè)置方法

    Cookie 是瀏覽器訪問服務(wù)器后,服務(wù)器傳給瀏覽器的一段數(shù)據(jù)。瀏覽器需要保存這段數(shù)據(jù),不會(huì)輕易刪除(保存在計(jì)算機(jī)中)。此后每次瀏覽器訪問該服務(wù)器,都必須帶上這段數(shù)據(jù)。這篇文章主要介紹了javascript和jquery中cookie的設(shè)置方法
    2023-07-07
  • 瀏覽器窗口加載和大小改變事件示例

    瀏覽器窗口加載和大小改變事件示例

    這篇文章主要介紹了瀏覽器窗口加載和大小改變事件,需要的朋友可以參考下
    2014-02-02

最新評論