最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

jQuery下的動(dòng)畫處理總結(jié)

 更新時(shí)間:2013年10月10日 22:22:08   作者:  
最近一年多一直在做前端的東西,由于老板在追求一些年輕動(dòng)感的效果,讓頁面元素不能僅僅是簡單的隱藏顯示,所以經(jīng)常會(huì)使用一些動(dòng)畫效果,發(fā)現(xiàn)jQuery的動(dòng)畫真心好用啊,把常用的幾個(gè)總結(jié)一下,希望不再每次使用的時(shí)候還去翻API

queue()/ dequeue()
這兩個(gè)方法就像Ajax的XMLHttpRequest對(duì)象一樣的隱蔽,不為常人所知。這兩個(gè)方法在動(dòng)畫處理的時(shí)候很有用,我們經(jīng)常會(huì)寫一些這樣的代碼

復(fù)制代碼 代碼如下:

$('#test').animate({
            "width": "300px",
            "height": "300px",
            "opacity":"1"
        });

這樣test div的height、width、opacity是同時(shí)變化的,有時(shí)候我們不希望同步執(zhí)行,而是形狀的變化和透明度的變化分開,先變成300*300的div,然后透明度再逐漸變化,我們需要這么寫

復(fù)制代碼 代碼如下:

$('#test').animate({
            "width": "300px",
            "height": "300px",
        }, function () {
            $('#test').animate({ "opacity": "1" });
        });

同學(xué)們可以想象一下要是有十個(gè)動(dòng)畫流程,那代碼是什么樣的,queue()和dequeue()可以解決此類問題,為所有的流程方法見一個(gè)隊(duì)列,讓function依次調(diào)用,先看一下語法


queue( [queueName ], newQueue ) 操作欲執(zhí)行隊(duì)列方法

第一個(gè)參數(shù)是隊(duì)列名稱,不寫的話默認(rèn)是fx

第二個(gè)參數(shù)可以是一個(gè)函數(shù)數(shù)組,存放所有隊(duì)列函數(shù),也可以是一個(gè)回掉函數(shù),用于向隊(duì)列中添加新函數(shù)

dequeue( [queueName ] ) 為匹配元素執(zhí)行隊(duì)列中的下一個(gè)function

每次調(diào)用此方法執(zhí)行隊(duì)列中下一函數(shù)

復(fù)制代碼 代碼如下:

var q = [
            function () {
                $(this).animate({
                    "width": "200px",
                    "height":"200px"
                }, next)
            },
            function () {
                $(this).animate({
                    "width": "400px",
                    "height": "400px"
                }, next);
            }
        ];

        function next(){
            $('#test').dequeue('myQueue');
        }

        $('#test').queue('myQueue', q);
        next();

上面代碼就是可以讓test div先變成200*200的,然后再變?yōu)?00*400的,每個(gè)動(dòng)畫都執(zhí)行回掉函數(shù),調(diào)用隊(duì)列中下一個(gè)方法,兩個(gè)動(dòng)畫依次執(zhí)行,如果在執(zhí)行期想再添加某個(gè)函數(shù)可以這樣

復(fù)制代碼 代碼如下:

var q = [
            function () {
                $(this).animate({
                    "width": "200px",
                    "height":"200px"
                }, next)
            },
            function () {
                $(this).animate({
                    "width": "400px",
                    "height": "400px"
                }, next);
            }
        ];

        function next(){
            $('#test').dequeue('myQueue');
        }

        $('#test').queue('myQueue', q);
        next();
        $('#test').queue('myQueue',function () {
            $(this).slideUp().dequeue('myQueue');
        });

總而言之這兩個(gè)方法就是為了方便動(dòng)畫按照預(yù)定次序執(zhí)行

clearQueue() /stop()

這兩個(gè)方法主要是為了取消動(dòng)畫

clearQueue( [queueName ] ) 將隊(duì)列中函數(shù)清空

stop( [queue ] [, clearQueue ] [, jumpToEnd ] ) 用于停止正在進(jìn)行的動(dòng)畫

queue:正在進(jìn)行的動(dòng)畫隊(duì)列名稱

clearQueue:默認(rèn)值為false,是否將隊(duì)列本身也清空

jumpToEnd:默認(rèn)值為false,是否立即執(zhí)行完動(dòng)畫

如果想停止剛才動(dòng)畫可以這么寫

復(fù)制代碼 代碼如下:
$('#test').clearQueue('myQueue');

這樣寫不會(huì)不會(huì)終止動(dòng)畫,只是當(dāng)前動(dòng)畫執(zhí)行完后,不會(huì)再調(diào)用隊(duì)列中下一個(gè)動(dòng)畫(隊(duì)列被清空了嘛,沒有下一個(gè)了),如果想立即停止動(dòng)畫,可以這么寫

復(fù)制代碼 代碼如下:
$('#test').stop();

至于停止動(dòng)畫是暫停還是立即執(zhí)行完,就學(xué)要配置stop()的參數(shù)了

slideDown()/ slideUp()/ slideToggle()

slide效果在做動(dòng)畫的時(shí)候經(jīng)常會(huì)使用,尤其是菜單,這三個(gè)函數(shù)很簡單,就是元素收起/伸展/自動(dòng)判斷收起伸展,但是其參數(shù)不僅僅是duration,我們還能加一些其他的控制,看看API中的介紹,這Sanger函數(shù)參數(shù)類似,那slideUp舉例

slideUp( [duration ] [, easing ] [, complete ] ) easing是漸變方式,這個(gè)我從來沒有手工改動(dòng)過,duration不寫的話,默認(rèn)會(huì)用大概一秒的時(shí)間完成動(dòng)畫

slideUp(options)

options中常用的配置有

duration:動(dòng)畫時(shí)間

queue:這個(gè)看了上面自然會(huì)懂

step:動(dòng)畫過程中每次屬性改動(dòng)時(shí)執(zhí)行

complete:動(dòng)畫完成時(shí)執(zhí)行

start:動(dòng)畫開始時(shí)執(zhí)行

always:動(dòng)畫被終止或者意外發(fā)生沒有執(zhí)行完時(shí)發(fā)生

這三個(gè)函數(shù)在執(zhí)行的時(shí)候會(huì)修改元素height,在sideUp()執(zhí)行完后會(huì)把height復(fù)原,并把diaplay設(shè)為none

fadeIn()/ fadeOut()/ fadeToggle()/ fadeTo()

fadeIn()/ fadeOut()/ fadeToggle() 的用法和slide系列類似,不再一一說明,只不過這三個(gè)函數(shù)修改的時(shí)元素的透明度,fadeOut()函數(shù)在執(zhí)行完后會(huì)將元素opacity復(fù)原,并把display屬性設(shè)為none

fadeTo( duration, opacity [, easing ] [, complete ] ) fadeTo()方法就沒有那么復(fù)雜了,但是fadeTO()的duration和opacity不是可省略的,必須寫

show()/ hide()/ toggle()

這三個(gè)函數(shù)的用法和slide系列一樣,但是在效果上有幾點(diǎn)兒不同

1.如果參數(shù)duration不寫,那么回立即執(zhí)行沒有動(dòng)畫

2.這個(gè)動(dòng)畫同時(shí)修改height、width、opacity屬性

3.hide()執(zhí)行完成后會(huì)將height、width、opacity屬性還原,并把display設(shè)為none

animate()
有些復(fù)雜的動(dòng)畫靠上面幾個(gè)函數(shù)不能夠?qū)崿F(xiàn),這時(shí)候就是強(qiáng)大的animate派上用場的時(shí)候了,animate()有兩種用法

.animate( properties [, duration ] [, easing ] [, complete ] )

大部分屬性都不用解釋,properties是個(gè)json,屬性的值可以是字面量、function、”toggle”、簡單表達(dá)式,如果是function會(huì)把返回值賦給屬性,熟悉jQuery的同學(xué)肯定明白“toggle”是什么,就是讓一個(gè)屬性在初始值和最小值之間切換,能夠使用toggle的屬性有width、height、opacity等包含數(shù)字值屬性,簡單表達(dá)式是+=、-=等,比如可以這么些 “width”:”+=10px”。

復(fù)制代碼 代碼如下:

$( "#block" ).animate({
    width: "70%",
    opacity: 0.4,
    marginLeft: "0.6in",
    fontSize: "3em",
    borderWidth: "+=10px"
  }, 1500 );

如果傳入了回掉函數(shù),該函數(shù)會(huì)在動(dòng)畫執(zhí)行完后調(diào)用

.animate( properties, options )

這種用法更為靈活,properties和前一個(gè)用法一樣,常用options有

duration:動(dòng)畫時(shí)間

queue:function隊(duì)列

step:每次屬性調(diào)整的回掉函數(shù)

complete:完成動(dòng)畫的回掉函數(shù)

start:動(dòng)畫開始的時(shí)候調(diào)用

always:動(dòng)畫被終止或者意外發(fā)生沒有執(zhí)行完時(shí)發(fā)生

要不說jQuery好用,上面這幾個(gè)配置是不是很熟悉呢

復(fù)制代碼 代碼如下:

$( "#book" ).animate({
    width: "toggle",
    height: "toggle"
  }, {
    duration: 5000,
    specialEasing: {
      width: "linear",
      height: "easeOutBounce"
    },
    complete: function() {
      $( this ).after( "<div>Animation complete.</div>" );
    }
  });

hover()
嚴(yán)格說這個(gè)并不是個(gè)動(dòng)畫函數(shù),但是由于低版本IE的hover對(duì)很多元素都不起作用,用CSS無法完成很多動(dòng)作,所以經(jīng)常需要使用JavaScript進(jìn)行haver事件的處理。

.hover( handlerIn(eventObject), handlerOut(eventObject) )

方法很簡單,不多介紹了,這樣就能把mousein 和mouseout寫在一起了。

相關(guān)文章

  • jquery easyui滾動(dòng)條部分設(shè)置介紹

    jquery easyui滾動(dòng)條部分設(shè)置介紹

    dialog并沒有隨著滾動(dòng)條往下滾動(dòng),這時(shí)就需要用戶滑動(dòng)滾動(dòng)條來定位dialog,在說出解決方案前先來普及一下jquery關(guān)于定位的幾個(gè)方法
    2013-09-09
  • 基于jquery的網(wǎng)頁SELECT下拉框美化代碼

    基于jquery的網(wǎng)頁SELECT下拉框美化代碼

    基于CSS 和JS的網(wǎng)頁SELECT下拉框美化,JQUERY 插件,最近為公司的網(wǎng)頁制做部,開發(fā)了一個(gè)用于美化網(wǎng)頁上select 下拉框的JQUERY插件,拿來與大家分享。
    2010-10-10
  • jQuery實(shí)現(xiàn)定位滾動(dòng)條位置

    jQuery實(shí)現(xiàn)定位滾動(dòng)條位置

    基于jQuery實(shí)現(xiàn)滾動(dòng)條滾動(dòng)到子元素位置以此來定位滾動(dòng)條位置,下面是小編給大家?guī)淼膶?shí)現(xiàn)代碼,代碼比較簡單,需要的朋友可以參考下
    2016-08-08
  • 由簡入繁實(shí)現(xiàn)Jquery樹狀結(jié)構(gòu)的方法(推薦)

    由簡入繁實(shí)現(xiàn)Jquery樹狀結(jié)構(gòu)的方法(推薦)

    下面小編就為大家?guī)硪黄珊喨敕睂?shí)現(xiàn)Jquery樹狀結(jié)構(gòu)的方法(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-06-06
  • PHP+jquery+ajax實(shí)現(xiàn)分頁

    PHP+jquery+ajax實(shí)現(xiàn)分頁

    這篇文章主要為大家詳細(xì)介紹了PHPjquery+ajax實(shí)現(xiàn)分頁的代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • jQuery中可見性過濾器簡單用法示例

    jQuery中可見性過濾器簡單用法示例

    這篇文章主要介紹了jQuery中可見性過濾器簡單用法,結(jié)合實(shí)例形式簡單分析了jQuery中可見性過濾器的原理及相關(guān)使用技巧,需要的朋友可以參考下
    2018-03-03
  • jQuery實(shí)現(xiàn)隔行變色的方法分析(對(duì)比原生JS)

    jQuery實(shí)現(xiàn)隔行變色的方法分析(對(duì)比原生JS)

    這篇文章主要介紹了jQuery實(shí)現(xiàn)隔行變色的方法,結(jié)合實(shí)例形式對(duì)比原生JS實(shí)現(xiàn)隔行變色的相關(guān)技巧,給出了2種jQuery實(shí)現(xiàn)隔行變色的方法,需要的朋友可以參考下
    2016-11-11
  • jQuery中eq()方法用法實(shí)例

    jQuery中eq()方法用法實(shí)例

    本篇文章為大家展示了如何在jquery中使用eq()方法,內(nèi)容簡明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲
    2015-01-01
  • jquery插件jSignature實(shí)現(xiàn)手動(dòng)簽名

    jquery插件jSignature實(shí)現(xiàn)手動(dòng)簽名

    在IE7~IE8這種不支持HTML5的瀏覽器上,是利用Flash嵌入的方式實(shí)現(xiàn)的簽名處理,在支持的HTML5的瀏覽器上默認(rèn)采用canvas標(biāo)簽處理簽名,可以生成 PNG格式、SVG格式的簽名圖片。非常適合在IPAD等移動(dòng)客戶端上實(shí)現(xiàn)手寫簽名的,該插件基于JQuery
    2015-05-05
  • JQuery文本改變觸發(fā)事件如聚焦事件、失焦事件

    JQuery文本改變觸發(fā)事件如聚焦事件、失焦事件

    JQuery文本改變觸發(fā)事件如聚焦事件、失焦事件等,下面有個(gè)示例,感興趣的朋友可以參考下
    2014-01-01

最新評(píng)論

福建省| 崇州市| 彭州市| 庐江县| 新田县| 泰顺县| 田东县| 车险| 鹰潭市| 舟曲县| 武汉市| 古丈县| 隆尧县| 拜泉县| 兰考县| 闽清县| 长岭县| 桃园市| 微山县| 安西县| 嘉定区| 台中县| 平罗县| 炎陵县| 交口县| 沅陵县| 孝义市| 崇信县| 琼海市| 盘锦市| 淳化县| 浏阳市| 水富县| 页游| 松阳县| 凤山市| 澄迈县| 铜川市| 泰宁县| 兴安县| 惠州市|