鋒利的jQuery 要點(diǎn)歸納(三) jQuery中的事件和動(dòng)畫(huà)(下:動(dòng)畫(huà)篇)
1 show()方法和hide()方法
$("selector").show()
從display:none還原元素默認(rèn)或已設(shè)置的display屬性
$("selector").hide()
設(shè)置元素的display樣式為none,等于$("selector").css("display","none")
(注:傳入?yún)?shù)后,.show()和.hide()方法同時(shí)動(dòng)畫(huà)改變?cè)氐膚idth,height和透明屬性;傳入?yún)?shù)控制顯隱速度,單位毫秒,如.show(600),也可傳入fast,normal,slow,fast為200毫秒,normal為400毫秒,slow為600毫秒)
2 fadeIn()方法和fadeOut()方法
$("selector").fadeIn()
控制透明度在指定時(shí)間內(nèi)從display:none提高至完全顯示
$("selector").fadeOut()
控制透明度在指定時(shí)間內(nèi)降低至display:none;
3 slideUp()方法和slideDown()方法
$("selector").slideUp()
控制元素高度在指定時(shí)間內(nèi)從下到上縮短至display:none;
$("selector").slideDown()
控制元素高度在指定時(shí)間內(nèi)從display:none延伸至完整高度
4 自定義動(dòng)畫(huà)方法animate()
$("selector").animate(params,speed,callback);
params:一個(gè)包含樣式屬性及值的映射,比如{property1:"value1",property2:"value2",...}
speed:速度參數(shù),可選
callback:在動(dòng)畫(huà)完成時(shí)執(zhí)行的參數(shù)(即回調(diào)函數(shù)),可選
常見(jiàn)的動(dòng)畫(huà)例子
<script>
//自定義動(dòng)畫(huà)的例子
$(function(){
$("selector").click(function(){
$(this).animate({left:"500px"},3000); //selector在3秒內(nèi)向右移動(dòng)500px
});
})
</script>
<script>
//累加、累減動(dòng)畫(huà)的例子
$(function(){
$("selector").click(function(){
$(this).animate({left:"+=500px"},3000); //連續(xù)觸發(fā)click事件時(shí),在當(dāng)前位置累加500px
});
})
</script>
<script>
//多重動(dòng)畫(huà)的例子
$(function(){
$("selector").click(function(){
$(this).animate({left:"500px",top:"300px",height:"+=100px"},3000); //向右下30度方向運(yùn)動(dòng),同時(shí)增加高度
});
})
</script>
<script>
//按順序執(zhí)行多個(gè)動(dòng)畫(huà)的例子
$(function(){
$("selector").click(function(){
$(this).animate({left:"500px"},3000).animate({top:"300px"},3000); //動(dòng)畫(huà)隊(duì)列
});
})
</script>
5 動(dòng)畫(huà)回調(diào)函數(shù)
因css()方法不會(huì)加入動(dòng)畫(huà)隊(duì)列中,則會(huì)馬上執(zhí)行。如若要在動(dòng)畫(huà)最后改變selector的css,需要利用回調(diào)函數(shù)
例:
<script>
$("selector").click(function(){
$(this).animate({property1:"value1"},time).animate({property2:"value2"},time,function(){
$(this).css("property3","value3"); //css()方法利用回調(diào)函數(shù)加入動(dòng)畫(huà)隊(duì)列
});
})
</script>
(注:動(dòng)畫(huà)回調(diào)函數(shù)適用于jQuery所有的動(dòng)畫(huà)效果方法)
6 停止動(dòng)畫(huà)和判斷是否處于動(dòng)畫(huà)狀態(tài)
$("selector").stop()
結(jié)束當(dāng)前動(dòng)畫(huà),如隊(duì)列中存在下一個(gè)動(dòng)畫(huà)則立即執(zhí)行下一個(gè)動(dòng)畫(huà),格式$("selector").stop([clearQueue][,gotoEnd])
切換動(dòng)畫(huà)的例子:
<script>
$("selector").hover(function(){
$(this).stop().animate();
},function(){
$(this).stop().animate();
})
</script>
clearQueue參數(shù)設(shè)置為true時(shí),將清空當(dāng)前元素接下來(lái)尚未執(zhí)行完的動(dòng)畫(huà)隊(duì)列
例:
<script>
$("selector").hover(function(){
$(this).stop(true).animate().animate() //如此時(shí)觸發(fā)光標(biāo)移出事件,直接跳過(guò)后面的動(dòng)畫(huà)隊(duì)列,避免執(zhí)行本隊(duì)列第二個(gè)動(dòng)畫(huà)
},function(){
$(this).stop(true).animate().animate()
})
</script>
gotoEnd參數(shù)設(shè)置為true時(shí),可將正在執(zhí)行的動(dòng)畫(huà)直接到達(dá)結(jié)束時(shí)刻的狀態(tài)
is(":animated")
判斷元素是否處于動(dòng)畫(huà)狀態(tài),可用于防止動(dòng)畫(huà)累積
例:
<script>
if(!$("selector").is(":animated")){ //判斷元素是否正處于動(dòng)畫(huà)狀態(tài)
//如果當(dāng)前沒(méi)有進(jìn)行動(dòng)畫(huà),則添加新動(dòng)畫(huà)
}
</script>
7 其他動(dòng)畫(huà)方法
3個(gè)專(zhuān)門(mén)用于交互的動(dòng)畫(huà)方法:toggle(speed,[callback]); slideToggle(speed,[callback]); fadeTo(speed,opacity,[callback])
$("selector").toggle()
切換元素的可見(jiàn)狀態(tài),如元素隱藏則切換為可見(jiàn),反之亦然
$("selector").slideToggle()
通過(guò)高度變化來(lái)切換元素的可見(jiàn)性
$("selector").fadeTo()
把元素的不透明度以漸進(jìn)方式調(diào)整到指定的值,如$("selector").fadeTo(600,0.2);以600毫秒速度將內(nèi)容調(diào)整到20%透明度
8 動(dòng)畫(huà)方法概括
toggle()用來(lái)代替hide()和show()
slideToggle()用來(lái)代替slideUp()和slideDown()
animate()可代替所有動(dòng)畫(huà)方法
- jQuery中事件與動(dòng)畫(huà)的總結(jié)分享
- 深入理解jquery中的事件與動(dòng)畫(huà)
- 深入理解JQuery中的事件與動(dòng)畫(huà)
- 分享一些常用的jQuery動(dòng)畫(huà)事件和動(dòng)畫(huà)函數(shù)
- jQuery中animate動(dòng)畫(huà)第二次點(diǎn)擊事件沒(méi)反應(yīng)
- JQuery中的事件及動(dòng)畫(huà)用法實(shí)例
- 一款基jquery超炫的動(dòng)畫(huà)導(dǎo)航菜單可響應(yīng)單擊事件
- jQuery 選擇器、DOM操作、事件、動(dòng)畫(huà)
- 鋒利的jQuery 要點(diǎn)歸納(三) jQuery中的事件和動(dòng)畫(huà)(上:事件篇)
- jQuery事件與動(dòng)畫(huà)基礎(chǔ)詳解
相關(guān)文章
jQuery實(shí)現(xiàn)html表格動(dòng)態(tài)添加新行的方法
這篇文章主要介紹了jQuery實(shí)現(xiàn)html表格動(dòng)態(tài)添加新行的方法,涉及jQuery鼠標(biāo)事件及頁(yè)面元素的操作技巧,需要的朋友可以參考下2015-05-05jQuery實(shí)現(xiàn)數(shù)字加減效果匯總
本文將介紹常見(jiàn)的幾種使用spinner數(shù)字微調(diào)器來(lái)實(shí)現(xiàn)數(shù)字加減的功能的方法。非常的簡(jiǎn)單實(shí)用,這里推薦給大家2014-12-12BootStrap日期控件在模態(tài)框中選擇時(shí)間下拉菜單無(wú)效的原因及解決辦法(火狐下不能點(diǎn)擊)
今天同事讓我?guī)退黄鸾鉀Q一個(gè)問(wèn)題,關(guān)于兼容的bug問(wèn)題,在火狐中使用模態(tài)框加載日期控件時(shí)選擇時(shí)間下拉菜單沒(méi)有效果(不能點(diǎn)擊),而在谷歌中卻是好的,下面小編附上原因分析及解決辦法,有需要的朋友可以參考下2016-08-08基于Jquery插件開(kāi)發(fā)之圖片放大鏡效果(仿淘寶)
公司某個(gè)網(wǎng)站,需要實(shí)現(xiàn)圖片預(yù)覽效果,并能像淘寶一樣實(shí)現(xiàn)局部分大,使用jquery的朋友可以參考下。2011-11-11jQuery插件HighCharts繪制2D餅圖效果示例【附demo源碼下載】
這篇文章主要介紹了jQuery插件HighCharts繪制2D餅圖效果,結(jié)合完整實(shí)例形式分析了jQuery使用HighCharts插件繪制餅圖效果的操作步驟與相關(guān)實(shí)現(xiàn)技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2017-03-03jQuery通過(guò)控制節(jié)點(diǎn)實(shí)現(xiàn)僅在前臺(tái)通過(guò)get方法完成參數(shù)傳遞
這篇文章主要介紹了jQuery通過(guò)控制節(jié)點(diǎn)實(shí)現(xiàn)僅在前臺(tái)通過(guò)get方法完成參數(shù)傳遞的功能,實(shí)例分析了jQuery操作節(jié)點(diǎn)的技巧與控制前臺(tái)get方法傳遞參數(shù)的用法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02jquery實(shí)現(xiàn)橫向圖片輪播特效代碼分享
這篇文章主要介紹了jquery實(shí)現(xiàn)橫向圖片輪播特效代碼,效果很精致,實(shí)現(xiàn)方法很簡(jiǎn)單,特推薦給大家,希望大家可以喜歡。2015-11-11jQuery實(shí)現(xiàn)可拖動(dòng)的浮動(dòng)層完整代碼
使用jQuery實(shí)現(xiàn)可拖動(dòng)的浮動(dòng)層的完整代碼,復(fù)制保存到html文件就可以體驗(yàn)效果.光標(biāo)移動(dòng)到層上,按住鼠標(biāo)就可以拖動(dòng)層2013-05-05jQuery實(shí)現(xiàn)菜單的顯示和隱藏功能示例
這篇文章主要介紹了jQuery實(shí)現(xiàn)菜單的顯示和隱藏功能,結(jié)合實(shí)例形式分析了jQuery基于事件響應(yīng)及css方法動(dòng)態(tài)改變菜單樣式的相關(guān)操作技巧,需要的朋友可以參考下2018-07-07