1. animate() 方法
- animate() 方法執(zhí)行 CSS 屬性集的自定義動(dòng)畫卿樱。
該方法通過(guò)CSS樣式將元素從一個(gè)狀態(tài)改變?yōu)榱硪粋€(gè)狀態(tài)僚害。CSS屬性值是逐漸改變的,這樣就可以創(chuàng)建動(dòng)畫效果繁调。
只有數(shù)字值可創(chuàng)建動(dòng)畫(比如 "margin:30px")萨蚕。字符串值無(wú)法創(chuàng)建動(dòng)畫(比如 "background-color:red")。
注:使用 "+=" 或 "-=" 來(lái)創(chuàng)建相對(duì)動(dòng)畫(relative animations)蹄胰。
(1)$(*selector*).animate(styles,speed,easing,callback)
參數(shù) | 描述 |
---|---|
styles | 必需岳遥。規(guī)定產(chǎn)生動(dòng)畫效果的 CSS 樣式和值。 可能的 CSS 樣式值: - left / top / borderWidth / margin / fontSize / outlineWidth.....and so on 注:CSS 樣式使用 DOM 名稱(比如 "fontSize")來(lái)設(shè)置裕寨,而非 CSS 名稱(比如 "font-size")浩蓉。 |
speed | 可選。規(guī)定動(dòng)畫的速度宾袜。默認(rèn)是 "normal"捻艳。 可能的值: - 毫秒 (比如 1500) - "slow" - "normal" - "fast" |
easing | 可選。規(guī)定在不同的動(dòng)畫點(diǎn)中設(shè)置動(dòng)畫速度的 easing 函數(shù)庆猫。 內(nèi)置的 easing 函數(shù): - swing - linear 擴(kuò)展插件中提供更多 easing 函數(shù)认轨。 |
callback | 可選。animate 函數(shù)執(zhí)行完之后月培,要執(zhí)行的函數(shù)嘁字。 |
(2)$(*selector*).animate(styles,options)
參數(shù) | 描述 |
---|---|
styles | 必需。規(guī)定產(chǎn)生動(dòng)畫效果的 CSS 樣式和值(同上)节视。 |
options | 可選拳锚。規(guī)定動(dòng)畫的額外選項(xiàng)。 可能的值: - speed - 設(shè)置動(dòng)畫的速度 - easing - 規(guī)定要使用的 easing 函數(shù) - callback - 規(guī)定動(dòng)畫完成之后要執(zhí)行的函數(shù) - step - 規(guī)定動(dòng)畫的每一步完成之后要執(zhí)行的函數(shù) - queue - 布爾值寻行。指示是否在效果隊(duì)列中放置動(dòng)畫。如果為 false匾荆,則動(dòng)畫將立即開始 - specialEasing - 來(lái)自 styles 參數(shù)的一個(gè)或多個(gè) CSS 屬性的映射拌蜘,以及它們的對(duì)應(yīng) easing 函數(shù) |
animate()函數(shù)比css中的animate和transition都要好使T_T
一入jQuery深似海!牙丽!
2. click() 方法
- 當(dāng)單擊元素時(shí)简卧,發(fā)生 click 事件。
click() 方法觸發(fā) click 事件烤芦,或規(guī)定當(dāng)發(fā)生 click 事件時(shí)運(yùn)行的函數(shù)举娩。
語(yǔ)法:
jQueryObject.click( [ [ data ,] handler ] )
- 如果指定了至少一個(gè)參數(shù),則表示綁定click事件的處理函數(shù);沒(méi)有指定任何參數(shù)铜涉,則表示觸發(fā)所有選擇器選擇到的元素上的click事件智玻。
參數(shù) | 描述 |
---|---|
data | 可選/任意類型觸發(fā)事件時(shí),需要通過(guò)event.data傳遞給事件處理函數(shù)的任意數(shù)據(jù)芙代。 |
handler | 可選/Function類型指定的事件處理函數(shù)吊奢。 |
(1) jQuery 1.4.3新增支持:click()支持data參數(shù)。
(2) 參數(shù)handler中的this指向當(dāng)前DOM元素纹烹。click()還會(huì)為handler傳入一個(gè)參數(shù):表示當(dāng)前事件的Event對(duì)象页滚。
(3) 如果函數(shù)handler的返回值為false,則表示阻止元素的默認(rèn)事件行為铺呵,并停止事件在DOM樹中冒泡裹驰。例如,<a>鏈接的click事件的處理函數(shù)返回false片挂,可以阻止鏈接的默認(rèn)URL跳轉(zhuǎn)行為幻林。
(4) click()函數(shù)的返回值為jQuery類型,返回當(dāng)前jQuery對(duì)象本身宴卖。
(5) click事件綁定處理函數(shù)可以綁定多個(gè)滋将,觸發(fā)時(shí)按照綁定順序依次執(zhí)行。
(6) 要?jiǎng)h除通過(guò)click()綁定的事件症昏,請(qǐng)使用unbind()函數(shù)随闽。
一個(gè)data參數(shù)的示例:
$(document).ready(function(){
$("p").click("hi",function(event){
alert("段落被點(diǎn)擊了。"+event.data);//結(jié)果為alert了“段落被點(diǎn)擊了肝谭。hi”
});
});
var bottle = { id: 'aa', height:'10.5' };
$(":button").click( user, function(event){
alert( event.data.id );
} );
一個(gè)有趣又有點(diǎn)奇怪的現(xiàn)象:
當(dāng)把上述例子改為:
var show=function(){
alert("段落被點(diǎn)擊了掘宪。");
}
//或者
//function show(){
// alert("段落被點(diǎn)擊了。");
//}
$("p").click(show());
會(huì)發(fā)現(xiàn)攘烛。魏滚。。在頁(yè)面刷新出來(lái)之后show()函數(shù)立刻就執(zhí)行了坟漱,并且之后點(diǎn)擊段落也不再有反應(yīng)鼠次。
但是!如果改成下面這樣:
var show=function(){
alert("段落被點(diǎn)擊了芋齿。");
}
$("p").click(function(){show();});
就又能正確運(yùn)行了P瓤堋!
十分神奇觅捆。目前我的想法是之所以出現(xiàn)這個(gè)現(xiàn)象是因?yàn)樯庖郏琧lick函數(shù)要求的是function類型的參數(shù),而show屬于object型栅炒。(掂摔?术羔??我也不知道對(duì)不對(duì)乙漓,暫時(shí)是這樣理解的)