1伯铣、在你的點(diǎn)擊事件中加上一個(gè)判斷,假設(shè)產(chǎn)生動(dòng)畫(huà)效果目標(biāo)的是#aa這個(gè)節(jié)點(diǎn)轮纫,那么你要加上這個(gè)判斷
if(!$("#aa").is(":animated")){
//執(zhí)行你的操作
}
他會(huì)確保你的動(dòng)畫(huà)只會(huì)在上一個(gè)動(dòng)畫(huà)結(jié)束后才能產(chǎn)生 腔寡,可以保持動(dòng)畫(huà)的完整性,但是連續(xù)點(diǎn)擊時(shí)會(huì)有反映遲鈍的感覺(jué)
2掌唾、$("#aa").stop(true,false).animate({...},1000);
這個(gè)則是會(huì)強(qiáng)制你的上一動(dòng)畫(huà)立即結(jié)束并到達(dá)動(dòng)畫(huà)執(zhí)行結(jié)束時(shí)狀態(tài)同時(shí)來(lái)運(yùn)行下一次動(dòng)畫(huà)蹬蚁,會(huì)造成動(dòng)畫(huà)脫節(jié)不太美觀,但是反應(yīng)迅速
說(shuō)到這里我們解釋下stop()這個(gè)函數(shù)的用法郑兴。
stop 是jQuery中用于控制頁(yè)面動(dòng)畫(huà)效果的方法犀斋。運(yùn)行之后立刻結(jié)束當(dāng)前頁(yè)面上的動(dòng)畫(huà)效果。
stop在新版jQuery中添加了2個(gè)參數(shù):
第一個(gè)參數(shù)的意思是是否清空動(dòng)畫(huà)序列情连,也就是stop的是當(dāng)前元素的動(dòng)畫(huà)效果還是停止后面附帶的所有動(dòng)畫(huà)效果叽粹,一般為false,跳過(guò)當(dāng)前動(dòng)畫(huà)效果却舀,執(zhí)行下一個(gè)動(dòng)畫(huà)效果虫几;
第二個(gè)參數(shù)是是否將當(dāng)前動(dòng)畫(huà)效果執(zhí)行到最后,意思就是停止當(dāng)前動(dòng)畫(huà)的時(shí)候動(dòng)畫(huà)效果剛剛執(zhí)行了一般挽拔,這個(gè)時(shí)候想要的是動(dòng)畫(huà)執(zhí)行之后的效果辆脸,那么這個(gè)參數(shù)就為true。否則動(dòng)畫(huà)效果就會(huì)停在stop執(zhí)行的時(shí)候
3螃诅、第三種方法應(yīng)用就需要設(shè)置一個(gè)判斷是否處于動(dòng)畫(huà)的標(biāo)志啡氢,一般是一個(gè)點(diǎn)擊事件執(zhí)行N多個(gè)步驟的動(dòng)畫(huà)之后然后跳到下一個(gè)動(dòng)畫(huà)。
var flag = false;
function aa(){
if(flag) return;//這里指當(dāng)這個(gè)標(biāo)志flag為真的時(shí)候术裸,直接返回倘是,不執(zhí)行當(dāng)前的這個(gè)動(dòng)畫(huà)。
flag=true;//這里是在執(zhí)行這個(gè)動(dòng)畫(huà)的最開(kāi)始的時(shí)候把標(biāo)志flag設(shè)置為真袭艺,在這個(gè)動(dòng)畫(huà)沒(méi)執(zhí)行完之前這個(gè)值一直為真搀崭,當(dāng)下次運(yùn)行這個(gè)函數(shù)的時(shí)候,由于flag值為真猾编,也不會(huì)執(zhí)行瘤睹。必須等到這個(gè)函數(shù)執(zhí)行完之后才會(huì)再次執(zhí)行這個(gè)動(dòng)畫(huà)升敲。
……………….
………………..
………………..
$(“#aa”).animated({“l(fā)eft”:”100″},1000,function(){
………………….
flag=false;//回到最初始狀態(tài),也是也表示這一輪動(dòng)畫(huà)執(zhí)行完畢轰传。
});
}