-
stop還有幾個(gè)可選的參數(shù),簡(jiǎn)單來(lái)說(shuō)可以這3種情況
.stop(); 停止當(dāng)前動(dòng)畫(huà),點(diǎn)擊在暫停處繼續(xù)開(kāi)始
.stop(true); 如果同一元素調(diào)用多個(gè)動(dòng)畫(huà)方法,尚未被執(zhí)行的動(dòng)畫(huà)被放置在元素的效果隊(duì)列中。這些動(dòng)畫(huà)不會(huì)開(kāi)始,直到第一個(gè)完成。當(dāng)調(diào)用.stop()的時(shí)候,隊(duì)列中的下一個(gè)動(dòng)畫(huà)立即開(kāi)始。如果clearQueue參數(shù)提供true值,那么在隊(duì)列中的動(dòng)畫(huà)其余被刪除并永遠(yuǎn)不會(huì)運(yùn)行
.stop(true,true); 當(dāng)前動(dòng)畫(huà)將停止,但該元素上的 CSS 屬性會(huì)被立刻修改成動(dòng)畫(huà)的目標(biāo)值
簡(jiǎn)單的說(shuō):參考下面代碼、
$("#aaron").animate({ ????height:?300 },?5000) $("#aaron").animate({ ????width:?300 },?5000) $("#aaron").animate({ ????opacity:?0.6 },?2000)
stop():只會(huì)停止第一個(gè)動(dòng)畫(huà),第二個(gè)第三個(gè)繼續(xù)
stop(true):停止第一個(gè)、第二個(gè)和第三個(gè)動(dòng)畫(huà)
stop(true ture):停止動(dòng)畫(huà),直接跳到第一個(gè)動(dòng)畫(huà)的最終狀態(tài)?
查看全部 -
jQuery中動(dòng)畫(huà)animate(上)
有些復(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ǔ)法:
.animate(?properties?,[?duration?],?[?easing?],?[?complete?]?)?.animate(?properties,?options?)
.animate()方法允許我們?cè)谌我獾臄?shù)值的CSS屬性上創(chuàng)建動(dòng)畫(huà)。2種語(yǔ)法使用,幾乎差不多了,唯一必要的屬性就是一組CSS屬性鍵值對(duì)。這組屬性和用于設(shè)置.css()方法的屬性鍵值對(duì)類似,除了屬性范圍做了更多限制。第二個(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 名稱(比如 "fontSize")來(lái)設(shè)置,而非 CSS 名稱(比如 "font-size")。
特別注意單位,屬性值的單位像素(px),除非另有說(shuō)明。單位em 和 %需要指定使用
.animate({?????left:?50,??????width:?'50px'????????opacity:?'show',???????fontSize:?"10em",?},?500);
除了定義數(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)調(diào)用 swing。如果需要其他的動(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ā)
具體可以參考右邊的代碼效果:
查看全部 -
.fadeTo(?duration,?opacity?,callback)
必需的 duration參數(shù)規(guī)定效果的時(shí)長(zhǎng)。它可以取以下值:"slow"、"fast" 或毫秒。fadeTo() 方法中必需的 opacity 參數(shù)將淡入淡出效果設(shè)置為給定的不透明度(值介于 0 與 1 之間)??蛇x的 callback 參數(shù)是該函數(shù)完成后所執(zhí)行的函數(shù)名稱。
查看全部 -
fadeToggle切換fadeOut與fadeIn效果,所謂"切換",即如果元素當(dāng)前是可見(jiàn)的,則將其隱藏(淡出);如果元素當(dāng)前是隱藏的,則使其顯示(淡入)。
常用語(yǔ)法:.fadeToggle( [duration ] ,[?complete ] )
可選的?duration?參數(shù)規(guī)定效果的時(shí)長(zhǎng)。它可以取以下值:"slow"、"fast" 或毫秒。 可選的 callback 參數(shù)是 fadeToggle完成后所執(zhí)行的函數(shù)名稱。
查看全部 -
fadeOut()函數(shù)用于隱藏所有匹配的元素,并帶有淡出的過(guò)渡動(dòng)畫(huà)效果
所謂"淡出"隱藏的,元素是隱藏狀態(tài)不對(duì)作任何改變,元素是可見(jiàn)的,則將其隱藏。
.fadeOut(?[duration?],?[?complete?]?)
通過(guò)不透明度的變化來(lái)實(shí)現(xiàn)所有匹配元素的淡出效果,并在動(dòng)畫(huà)完成后可選地觸發(fā)一個(gè)回調(diào)函數(shù)。這個(gè)動(dòng)畫(huà)只調(diào)整元素的不透明度,也就是說(shuō)所有匹配的元素的高度和寬度不會(huì)發(fā)生變化。
字符串 'fast' 和 'slow' 分別代表200和600毫秒的延時(shí)。如果提供任何其他字符串,或者這個(gè)duration參數(shù)被省略,那么默認(rèn)使用400毫秒的延時(shí)
查看全部 -
基本的操作:slideToggle();
這是最基本的操作,獲取元素的高度,使這個(gè)元素的高度發(fā)生改變,從而讓元素里的內(nèi)容往下或往上滑。
提供參數(shù):.slideToggle( [duration ] ,[?complete ] )
同樣的提供了時(shí)間、還有動(dòng)畫(huà)結(jié)束的回調(diào)。在參數(shù)對(duì)應(yīng)的時(shí)間內(nèi),元素會(huì)完成動(dòng)畫(huà),然后出發(fā)回調(diào)函數(shù)
同時(shí)也提供了時(shí)間的快速定義,字符串 'fast' 和 'slow' 分別代表200和600毫秒的延時(shí)
slideToggle("fast")? slideToggle("slow")
查看全部 -
.slideDown():用滑動(dòng)動(dòng)畫(huà)顯示一個(gè)匹配元素
.slideDown()方法將給匹配元素的高度的動(dòng)畫(huà),這會(huì)導(dǎo)致頁(yè)面的下面部分滑下去,彌補(bǔ)了顯示的方式
常見(jiàn)的操作,提供一個(gè)動(dòng)畫(huà)是時(shí)間,然后傳遞一個(gè)回調(diào),用于知道動(dòng)畫(huà)是什么時(shí)候結(jié)束
.slideDown(?[duration?]?[,?complete?]?)
持續(xù)時(shí)間(duration)是以毫秒為單位的,數(shù)值越大,動(dòng)畫(huà)越慢,不是越快。字符串 'fast' 和 'slow' 分別代表200和600毫秒的延時(shí)。如果提供任何其他字符串,或者這個(gè)duration參數(shù)被省略,那么默認(rèn)使用400 毫秒的延時(shí)。
具體使用:
$("ele").slideDown(1000,?function()?{ ????//等待動(dòng)畫(huà)執(zhí)行1秒后,執(zhí)行別的動(dòng)作.... });
注意事項(xiàng):
下拉動(dòng)畫(huà)是從無(wú)到有,所以一開(kāi)始元素是需要先隱藏起來(lái)的,可以設(shè)置display:none
如 果提供回調(diào)函數(shù)參數(shù),callback會(huì)在動(dòng)畫(huà)完成的時(shí)候調(diào)用。將不同的動(dòng)畫(huà)串聯(lián)在一起按順序排列執(zhí)行是非常有用的。這個(gè)回調(diào)函數(shù)不設(shè)置任何參數(shù),但是 this會(huì)設(shè)成將要執(zhí)行動(dòng)畫(huà)的那個(gè)DOM元素,如果多個(gè)元素一起做動(dòng)畫(huà)效果,那么要非常注意,回調(diào)函數(shù)會(huì)在每一個(gè)元素執(zhí)行完動(dòng)畫(huà)后都執(zhí)行一次,而不是這組 動(dòng)畫(huà)整體才執(zhí)行一次
查看全部 -
基本的操作:toggle();
這是最基本的操作,處理元素顯示或者隱藏,因?yàn)椴粠?shù),所以沒(méi)有動(dòng)畫(huà)。通過(guò)改變CSS的display屬性,匹配的元素將被立即顯示或隱藏,沒(méi)有動(dòng)畫(huà)。
如果元素是最初顯示,它會(huì)被隱藏
如果隱藏的,它會(huì)顯示出來(lái)
display屬性將被儲(chǔ)存并且需要的時(shí)候可以恢復(fù)。如果一個(gè)元素的display值為inline,然后是隱藏和顯示,這個(gè)元素將再次顯示inline
提供參數(shù):.toggle( [duration ] [, complete ] )
同樣的提供了時(shí)間、還有動(dòng)畫(huà)結(jié)束的回調(diào)。在參數(shù)對(duì)應(yīng)的時(shí)間內(nèi),元素會(huì)發(fā)生顯示/隱藏的改變,在改變的過(guò)程中會(huì)把元素的高、寬、不透明度進(jìn)行一系列動(dòng)畫(huà)效果。這個(gè)元素其實(shí)就是show與hide的方法
直接定位:.toggle(display)
直接提供一個(gè)參數(shù),指定要改變的元素的最終效果
其實(shí)就是確定是使用show還是hide方法
if?(?display?===?true?)?{ ??$(?"elem"?).show(); }?else?if?(?display?===?false?)?{ ??$(?"elem"?).hide(); }
查看全部 -
$('elem').hide(3000).show(3000)
讓元素執(zhí)行3秒的隱藏動(dòng)畫(huà),然后執(zhí)行3秒的顯示動(dòng)畫(huà)。
show與hide方法是非常常用的,但是一般很少會(huì)基于這2個(gè)屬性執(zhí)行動(dòng)畫(huà),大多情況下還是直接操作元素的顯示與隱藏為主
注意事項(xiàng):
show與hide方法是修改的display屬性,通過(guò)是visibility屬性布局需要通過(guò)css方法單獨(dú)設(shè)置
如果使用!important在你的樣式中,比如display: none !important,如果你希望.show()方法正常工作,必須使用.css('display', 'block !important')重寫(xiě)樣式
如果讓show與hide成為一個(gè)動(dòng)畫(huà),那么默認(rèn)執(zhí)行動(dòng)畫(huà)會(huì)改變?cè)氐母叨?,高度,透明?/p>
查看全部 -
.hide(?options?)
當(dāng)提供hide方法一個(gè)參數(shù)時(shí),.hide()就會(huì)成為一個(gè)動(dòng)畫(huà)方法。.hide()方法將會(huì)匹配元素的寬度,高度,以及不透明度,同時(shí)進(jìn)行動(dòng)畫(huà)操作
快捷參數(shù):
.hide("fast?/?slow")
這是一個(gè)動(dòng)畫(huà)設(shè)置的快捷方式,'fast' 和 'slow' 分別代表200和600毫秒的延時(shí),就是元素會(huì)執(zhí)行200/600毫秒的動(dòng)畫(huà)后再隱藏
查看全部 -
$("#a1").stop().hide(3000).show(3000)
//stop() 用于避免動(dòng)畫(huà)執(zhí)行過(guò)程中反復(fù)觸發(fā)
//語(yǔ)法結(jié)構(gòu)
$("#div").stop();//停止當(dāng)前動(dòng)畫(huà),繼續(xù)下一個(gè)動(dòng)畫(huà)
$("#div").stop(true);//清除元素的所有動(dòng)畫(huà)
$("#div").stop(false, true);//讓當(dāng)前動(dòng)畫(huà)直接到達(dá)末狀態(tài) ,繼續(xù)下一個(gè)動(dòng)畫(huà)
$("#div").stop(true, true);//清除元素的所有動(dòng)畫(huà),讓當(dāng)前動(dòng)畫(huà)直接到達(dá)末狀態(tài)查看全部 -
?<h2>trim方法</h2>
??? 未處理
??? <input type="text" name="" id="results1" value=" 前后留空 " />
??? <input id="exec1" type="button" value="點(diǎn)擊執(zhí)行"> <br />
???
??? trim處理
??? <input type="text" name="" id="results2" value=" 前后留空 " />
??? <input id="exec2" type="button" value="點(diǎn)擊執(zhí)行">
??? <script type="text/javascript">
??? $("#exec1").click(function() {
??????? alert("值的長(zhǎng)度:" + $("#results1").val().length)
??? });??? $("#exec2").click(function() {
???????? alert("值的長(zhǎng)度:" + $.trim($("#results2").val()).length)
??? });
??? </script>查看全部 -
語(yǔ)法:參數(shù)接受一個(gè)jQuery或者dom對(duì)象作為查找的條件
.index() .index(?selector?) .index(?element?)
如果不傳遞任何參數(shù)給 .index() 方法,則返回值就是jQuery對(duì)象中第一個(gè)元素相對(duì)于它同輩元素的位置
如果在一組元素上調(diào)用 .index() ,并且參數(shù)是一個(gè)DOM元素或jQuery對(duì)象, .index() 返回值就是傳入的元素相對(duì)于原先集合的位置
如果參數(shù)是一個(gè)選擇器, .index() 返回值就是原先元素相對(duì)于選擇器匹配元素的位置。如果找不到匹配的元素,則 .index() 返回 -1
查看全部 -
移除字符串開(kāi)始和結(jié)尾處的所有換行符,空格(包括連續(xù)的空格)和制表符(tab)
如果這些空白字符在字符串中間時(shí),它們將被保留,不會(huì)被移除
查看全部 -
.stop(); 停止當(dāng)前動(dòng)畫(huà),點(diǎn)擊在暫停處繼續(xù)開(kāi)始
.stop(true); 如果同一元素調(diào)用多個(gè)動(dòng)畫(huà)方法,尚未被執(zhí)行的動(dòng)畫(huà)被放置在元素的效果隊(duì)列中。這些動(dòng)畫(huà)不會(huì)開(kāi)始,直到第一個(gè)完成。當(dāng)調(diào)用.stop()的時(shí)候,隊(duì)列中的下一個(gè)動(dòng)畫(huà)立即開(kāi)始。如果clearQueue參數(shù)提供true值,那么在隊(duì)列中的動(dòng)畫(huà)其余被刪除并永遠(yuǎn)不會(huì)運(yùn)行
.stop(true,true); 當(dāng)前動(dòng)畫(huà)將停止,但該元素上的 CSS 屬性會(huì)被立刻修改成動(dòng)畫(huà)的目標(biāo)值
查看全部
舉報(bào)