jQuery中使用animate自定義動(dòng)畫(huà)的方法
動(dòng)畫(huà) animate()
01.animate()方法的簡(jiǎn)單使用
有些復(fù)雜的動(dòng)畫(huà)通過(guò)之前學(xué)到的幾個(gè)動(dòng)畫(huà)函數(shù)是不能夠?qū)崿F(xiàn),這時(shí)候就是強(qiáng)大的animate方法了。
操作一個(gè)元素執(zhí)行3秒的淡入動(dòng)畫(huà),對(duì)比下一下2組動(dòng)畫(huà)設(shè)置的區(qū)別。
$(elem).fadeOut(3000) $(elem).animate({ opacity:0 },3000)
顯而易見(jiàn),animate方法更加靈活了,可以精確的控制樣式屬性從而執(zhí)行動(dòng)畫(huà)。
語(yǔ)法:
1 .animate( properties [, duration ] [, easing ] [, complete ] )
2 .animate( properties, options )
.animate()方法允許我們?cè)谌我獾臄?shù)值的CSS屬性上創(chuàng)建動(dòng)畫(huà)。2種語(yǔ)法使用,幾乎差不多了,唯一必要的屬性就是一組CSS屬性鍵值對(duì)。這組屬性和用于設(shè)置.css()方法的屬性鍵值對(duì)類(lèi)似,除了屬性范圍做了更多限制。第二個(gè)參數(shù)開(kāi)始可以單獨(dú)傳遞多個(gè)實(shí)參也可以合并成一個(gè)對(duì)象傳遞了。
參數(shù)分解:
properties:一個(gè)或多個(gè)css屬性的鍵值對(duì)所構(gòu)成的Object對(duì)象。要特別注意所有用于動(dòng)畫(huà)的屬性必須是數(shù)字的,除非另有說(shuō)明;這些屬性如果不是數(shù)字的將不能使用基本的jQuery功能。比如常見(jiàn)的,border、margin、padding、width、height、font、left、top、right、bottom、wordSpacing等等這些都是能產(chǎn)生動(dòng)畫(huà)效果的。background-color很明顯不可以,因?yàn)閰?shù)是red或者GBG這樣的值,非常用插件,否則正常情況下是不能只能動(dòng)畫(huà)效果的。注意,CSS 樣式使用 DOM 名稱(chēng)(比如 "fontSize")來(lái)設(shè)置,而非 CSS 名稱(chēng)(比如 "font-size")。
特別注意單位,屬性值的單位像素(px),除非另有說(shuō)明。單位em 和 %需要指定使用
.animate({ left: , width: 'px' opacity: 'show', fontSize: "em", }, );
除了定義數(shù)值,每個(gè)屬性能使用'show', 'hide', 和 'toggle'。這些快捷方式允許定制隱藏和顯示動(dòng)畫(huà)用來(lái)控制元素的顯示或隱藏
.animate({ width: "toggle" });
如果提供一個(gè)以+= 或 -=開(kāi)始的值,那么目標(biāo)值就是以這個(gè)屬性的當(dāng)前值加上或者減去給定的數(shù)字來(lái)計(jì)算的
.animate({ left: '+50px' }, "slow");
duration:時(shí)間
動(dòng)畫(huà)執(zhí)行的時(shí)間,持續(xù)時(shí)間是以毫秒為單位的;值越大表示動(dòng)畫(huà)執(zhí)行的越慢,不是越快。還可以提供'fast' 和 'slow'字符串,分別表示持續(xù)時(shí)間為200 和 600毫秒。
easing動(dòng)畫(huà)運(yùn)動(dòng)的算法:
jQuery庫(kù)中是默認(rèn)的時(shí)調(diào)用 swing。在一個(gè)恒定的速度進(jìn)行動(dòng)畫(huà),如果需要其他的動(dòng)畫(huà)算法,請(qǐng)查找相關(guān)的插件
complete回調(diào)
動(dòng)畫(huà)完成時(shí)執(zhí)行的函數(shù),這個(gè)可以保證當(dāng)前動(dòng)畫(huà)確定完成后發(fā)會(huì)觸發(fā)
02.animate() 方法來(lái)依次執(zhí)行多個(gè)動(dòng)畫(huà)
animate在執(zhí)行動(dòng)畫(huà)中,如果需要觀察動(dòng)畫(huà)的一些執(zhí)行情況,或者在動(dòng)畫(huà)進(jìn)行中的某一時(shí)刻進(jìn)行一些其他處理,我們可以通過(guò)animate的提供第二種設(shè)置語(yǔ)法,傳遞一個(gè)對(duì)象參數(shù),可以拿到動(dòng)畫(huà)執(zhí)行狀態(tài)一些通知。
.animate( properties, options )
options參數(shù)
duration - 設(shè)置動(dòng)畫(huà)執(zhí)行的時(shí)間
easing - 規(guī)定要使用的 easing 函數(shù),過(guò)渡使用哪種緩動(dòng)函數(shù)
step:規(guī)定每個(gè)動(dòng)畫(huà)的每一步完成之后要執(zhí)行的函數(shù)
progress:每一次動(dòng)畫(huà)調(diào)用的時(shí)候會(huì)執(zhí)行這個(gè)回調(diào),就是一個(gè)進(jìn)度的概念
complete:動(dòng)畫(huà)完成回調(diào)
如果多個(gè)元素執(zhí)行動(dòng)畫(huà),回調(diào)將在每個(gè)匹配的元素上執(zhí)行一次,不是作為整個(gè)動(dòng)畫(huà)執(zhí)行一次
列出常用的方式
$('#elem').animate({ width: 'toggle', height: 'toggle' }, { duration: , specialEasing: { width: 'linear', height: 'easeOutBounce' }, complete: function() { $(this).after('<div>Animation complete.</div>'); } });
調(diào)用animate()方法可以創(chuàng)建自定義動(dòng)畫(huà)效果,它的調(diào)用格式為:
$(selector).animate({params},speed,[callback])
其中,params參數(shù)為制作動(dòng)畫(huà)效果的CSS屬性名與值,speed參數(shù)為動(dòng)畫(huà)的效果的速度,單位為毫秒,可選項(xiàng)callback參數(shù)為動(dòng)畫(huà)完成時(shí)執(zhí)行的回調(diào)函數(shù)名。
例如,調(diào)用animate()方法以由小到大的動(dòng)畫(huà)效果顯示圖片,如下圖所示:
<body> <h>制作簡(jiǎn)單的動(dòng)畫(huà)效果</h> <img src="images/.png" alt=""/> <div id="tip"></div> <script type="text/javascript"> $(function() { $('img').animate({ width: 'px'; height:'px' }, , function() { $("#tip").html('執(zhí)行完成!'); }); }) </script> </body>
在瀏覽器中顯示的效果:
從圖中可以看出,調(diào)用animate()方法,以漸漸放大的動(dòng)畫(huà)效果顯示圖片元素,當(dāng)動(dòng)畫(huà)執(zhí)行完成后,通過(guò)回調(diào)函數(shù)在頁(yè)面的<div>元素中顯示“執(zhí)行完成!”的字樣。
- 用js實(shí)現(xiàn)的模擬jquery的animate自定義動(dòng)畫(huà)(2.5K)
- 深入理解jquery自定義動(dòng)畫(huà)animate()
- Jquery 自定義動(dòng)畫(huà)概述及示例
- jQuery自定義動(dòng)畫(huà)函數(shù)實(shí)例詳解(附demo源碼)
- jQuery使用動(dòng)畫(huà)隊(duì)列自定義動(dòng)畫(huà)操作示例
- jQuery動(dòng)畫(huà)animate方法使用介紹
- jquery animate 動(dòng)畫(huà)效果使用說(shuō)明
- JQuery動(dòng)畫(huà)animate的stop方法使用詳解
- jQuery實(shí)現(xiàn)圖像旋轉(zhuǎn)動(dòng)畫(huà)效果
- 分享8款優(yōu)秀的 jQuery 加載動(dòng)畫(huà)和進(jìn)度條插件
- Jquery中使用show()與hide()方法動(dòng)畫(huà)顯示和隱藏圖片
- jQuery三組基本動(dòng)畫(huà)與自定義動(dòng)畫(huà)操作實(shí)例總結(jié)
相關(guān)文章
jQuery插件Elastislide實(shí)現(xiàn)響應(yīng)式的焦點(diǎn)圖無(wú)縫滾動(dòng)切換特效
這篇文章主要介紹了jQuery插件Elastislide實(shí)現(xiàn)響應(yīng)式的焦點(diǎn)圖無(wú)縫滾動(dòng)切換特效,效果非常的棒,而且兼容性也很好,推薦給小伙伴們2015-04-04利用jquery和BootStrap實(shí)現(xiàn)動(dòng)態(tài)滾動(dòng)條效果
這篇文章主要介紹了利用jquery和BootStrap實(shí)現(xiàn)動(dòng)態(tài)滾動(dòng)條效果,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-12-12jQuery getJSON()+.ashx 實(shí)現(xiàn)分頁(yè)(改進(jìn)版)
參考了上一篇Asp .net +jquery +.ashx 文件實(shí)現(xiàn)分頁(yè)并作了改進(jìn):ashx返回json數(shù)據(jù),減少傳輸數(shù)據(jù)量,html頁(yè)面樣式控制也比較靈活,感興趣的朋友可以參考下哈2013-03-03easyui datagrid 鍵盤(pán)上下控制選中行示例
這篇文章主要介紹了擴(kuò)展datagrid的一個(gè)方法keyCtr實(shí)現(xiàn)鍵盤(pán)上下控制選中行,需要的朋友可以參考下2014-03-03Jquery實(shí)現(xiàn)多個(gè)表格的全選復(fù)選框功能方式
這篇文章主要介紹了Jquery實(shí)現(xiàn)多個(gè)表格的全選復(fù)選框功能方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12ASP.NET jQuery 實(shí)例5 (顯示CheckBoxList成員選中的內(nèi)容)
這章我們主要看下如何通過(guò)jQuery來(lái)獲取CheckBoxList成員內(nèi)容2012-01-01jQuery學(xué)習(xí)筆記 更改jQuery對(duì)象
jQuery提供了一些方法,使流程變?yōu)樯蒵Query對(duì)象A,操作jQuery對(duì)象A;更改為jQuery對(duì)象B,操作jQuery對(duì)象B2012-09-09jquery 圖片 上一張 下一張 鏈接效果(續(xù)篇)
很久沒(méi)寫(xiě)文章了,這段時(shí)間一直在做類(lèi)似鮮果的一個(gè)應(yīng)用和數(shù)據(jù)采集,還有就是對(duì)企業(yè)和個(gè)人成長(zhǎng)的思考。2010-04-04