這篇文章主要介紹“jQuery中動(dòng)畫的實(shí)現(xiàn)方法”,在日常操作中,相信很多人在jQuery中動(dòng)畫的實(shí)現(xiàn)方法問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”jQuery中動(dòng)畫的實(shí)現(xiàn)方法”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
jQuery是個(gè)快速、簡(jiǎn)潔的JavaScript框架,封裝了JavaScript的常用功能,提供了一種簡(jiǎn)便的JavaScript設(shè)計(jì)模式,優(yōu)化HTML文檔操作,事件處理,動(dòng)畫設(shè)計(jì)和ajax交互,其中最核心的包括DOM和BOM,但是提供最方便的操作我認(rèn)為是動(dòng)畫,這也是jQuery最吸引人的地方之一,通過(guò)jQuery的動(dòng)畫能夠快速輕松的為網(wǎng)頁(yè)提供非常精彩的視覺(jué)效果
show和hide
show和hide方法是jQuery中最基本的動(dòng)畫方法,在一個(gè)元素調(diào)用hide時(shí),其實(shí)在HTML文檔中會(huì)將該元素的display樣式改為“none”
$("#id").hide()
其實(shí)等于
$("#id").css("display","none")
當(dāng)元素隱藏起來(lái)以后,使用show將元素的display樣式設(shè)置為先前的顯示狀態(tài)"block"/"inline"
我們可以使用toggle(模擬連續(xù)點(diǎn)擊事件)來(lái)實(shí)驗(yàn)這兩個(gè)方法
$(function(){ $(#one).toggle(function(){ $(this).next().hide(); },function(){ $(this).next().show(); }) })
同時(shí)我們也可以在show里面放一個(gè)參數(shù)“顯示速度”
$("#id").hide(1000)
讓元素在1000毫秒內(nèi)顯示出來(lái)
fadeIn和fadeOut
和show不一樣的是,fadeIn和fadeOut只改變?cè)氐牟煌该鞫?,fadeOut通過(guò)透明度讓元素的display為none,fadeIn相反
$(function(){ $(#one).toggle(function(){ $(this).next().fadeOut(); },function(){ $(this).next().fadeIn(); }) })
slideUp和slideDown
slideUp和slideDown方法只會(huì)改變?cè)氐母叨?,slideUp通過(guò)高度讓元素的display為none,slideDown則相反
$(function(){ $(#one).toggle(function(){ $(this).next().slideUp(); },function(){ $(this).next().slideDown(); }) })
animate(params,speed,callback)
params:一個(gè)包含樣式屬性及值的映射
speed:速度,可選
callback:動(dòng)畫完成時(shí)執(zhí)行的函數(shù),可選
$(function(){ $(#one).click(function(){ $(this).animate({left:"+=500px"},3000,function({ $(this).css("border","5px solid blue"); }); }) })
可以看到,animate幾乎可以做到任意的改變動(dòng)畫,甚至上面說(shuō)的slideUp,slideDown,fadeIn,fadeOut都可以改變成animate來(lái)實(shí)現(xiàn)
這樣看,好像很完美,但是有一個(gè)問(wèn)題,這個(gè)問(wèn)題也是所有動(dòng)畫的問(wèn)題,以上面的代碼為例子,當(dāng)一個(gè)用戶點(diǎn)擊一下就執(zhí)行"+=500px",如果用戶3秒內(nèi)點(diǎn)擊了100次呢,1000次呢,動(dòng)畫還會(huì)繼續(xù)執(zhí)行,但是這個(gè)時(shí)候如果再點(diǎn)擊其他的按鈕就會(huì)被隊(duì)列擠到后面去,需要等這個(gè)動(dòng)畫全部執(zhí)行完畢才會(huì)執(zhí)行,這就需要判斷是否處于動(dòng)畫狀態(tài)和停止動(dòng)畫
if(!$(#two).is(":animated")){ {
用上面的代碼就可以執(zhí)行,先判斷是否處于動(dòng)畫狀態(tài),如果沒(méi)有則添加新的代碼
但是光知道是否處于動(dòng)畫狀態(tài)還不夠,還需要停止動(dòng)畫
$(function(){ $(#one).hover(function(){ $(this).stop().next().slideUp(); },function(){ $(this).stop().next().slideDown(); }) })
延遲動(dòng)畫
delay(1000)//括號(hào)內(nèi)為時(shí)間參數(shù)
除此之外還有其他的動(dòng)畫方法
toggle(speed,[callback]):切換元素的可見(jiàn)狀態(tài)
slideToggle(speed,[easing],[callback]):通過(guò)高度變化來(lái)切換可見(jiàn)狀態(tài)
fadeTo(speed,opacity,[callback]):可以把元素的不透明度以漸進(jìn)的方式調(diào)整到指定的值
fadeToggle(speed,[easing],[callback]):通過(guò)不透明度變化來(lái)切換元素的可見(jiàn)性
到此,關(guān)于“jQuery中動(dòng)畫的實(shí)現(xiàn)方法”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!
網(wǎng)站題目:jQuery中動(dòng)畫的實(shí)現(xiàn)方法-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://www.rwnh.cn/article38/cojgpp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站營(yíng)銷、域名注冊(cè)、虛擬主機(jī)、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容