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

jQuery中使用animate自定義動(dòng)畫(huà)的方法

 更新時(shí)間:2016年05月29日 14:48:11   作者:半醒半夢(mèng)半浮塵  
這篇文章主要介紹了jQuery中使用animate自定義動(dòng)畫(huà)的方法的相關(guān)資料,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下

動(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í)行完成!”的字樣。

相關(guān)文章

最新評(píng)論