部分jQuery常用的動畫函數,整理了一下,在做交互式頁面的時候挺有用的
.css('a','12px'); .css({ a:'12px', b:'#fff' }); .show(); .hide(); .toggle(); .fadeIn(); .fadeOut(); .fadeToggle(); .slideDown(); .slideUp(); .slideToggle(); .text('string'); .animate({ a:'40px', b:'ccc' },200) .fadeTo(600,0.4);
然后又整理了一些animate函數能夠操作的css屬性,其實也是從網上其他地方找來的(http://www.gimoo.net/article/75510.htm):
backgroundPosition borderWidth borderBottomWidth borderLeftWidth borderRightWidth borderTopWidth borderSpacing margin marginBottom marginLeft marginRight marginTop outlineWidth padding paddingBottom paddingLeft paddingRight paddingTop height width maxHeight maxWidth minHeight maxWidth font
fontSize(在animate函數的css參數指定并不同于標準css屬性,例如這個css標準是:font-size。同理上
面很多也是這樣的情況)
bottom left right top letterSpacing wordSpacing lineHeight textIndent opacity
jQuery動畫函數
jQuery動畫函數分三類:
1、基本動畫函數:既有透明漸變又有滑動效果,常用動畫效果。
2、滑動動畫函數:僅使用滑動效果。
3、淡入淡出動畫函數:僅使用淡入淡出效果。
一.基本動畫函數:
1、show()
顯示隱藏匹配元素。這個就是'show( speed, [callback] )'無動畫的版本。如果選擇的元素是可見的,這個方法將不會改變任何東西。無論這個元素是通過hide()方法隱藏的還是在CSS里設置了display:none;,這個方法都將有效。
例如:顯示所有段落,$("p").show()
2、show(speed,[callback])
以優雅的動畫顯示匹配的元素,并且在顯示完成后可選擇返回一個回調函。可根據指定的速度動態改變每個匹配元素高度、寬度和不透明度。
例如:用緩慢的動畫將隱藏的段落顯示出來,歷時600毫秒,$("p").show(600)
3、hide()
隱藏顯示元素。這個就是 'hide( speed, [callback] )'的無動畫版。如果選擇的元素是隱藏的,這個方法將不會改變任何東西。
例如:隱藏所有段落,$("p").hide()
4、hide(speed,[callback])
以優雅的動畫隱藏所有匹配的元素,并在顯示完成后可選的觸發一個回調函數。可以根據指定的速度動態地改變每個匹配元素的高度、寬度和不透明度。在jQuery1.3中,padding和margin也會有動畫,效果更流暢。
例如:用600ms的時間將段落緩慢的隱藏,$("p").hide("slow");
5、toggle
切換元素的可見狀態。如果元素時可見的,切換為隱藏的;如果元素是隱藏的,切換為可見的。
例如:切換所有段落的可見狀態,$("p").toggle()
6、toggle(switch)
根據switch參數切花元素的可見狀態(true為可見,false為隱藏)。如果switch設為true,則調用show()方法來顯示匹配的元素,如果switch設為false則調用hide()來隱藏元素。
例如:切換所有段落的可見狀態,varflip=0;$("button").click(function(){$("p").toggle(flip++%2==0);});
7、toggle(speed,[callback])
以優雅的動畫切換所有匹配的元素,并在顯示完成后可選的觸發一個回調函數。可根據指定的速度動態的改變每個匹配元素的高度、寬度和不透明度。jquery1.3,padding和margin也會有動畫,效果更流暢。
例如:用200ms將段落迅速切換顯示狀態,之后彈出一個對話框,$("p").toggle("fast",function(){alert("hello!");});
二.滑動動畫函數sliding
1、slideDown(speed,[callback])
通過高度變化(向下增大)來動態的顯示所有匹配的元素,在顯示完成后可選擇的處發一個回調函數。這個動畫效果只調整元素的高度,可以是匹配的元素以“滑動”的方式顯示出來。在jQuery1.3中,上下的padding和margin也會有動畫,效果更流暢。
例如:用600ms緩慢的將段落滑下,$("p").slideDown("slow");
2、slideUp(speed,[callback])
通過高度變化(向上減小)來動態的隱藏所有匹配的元素,在隱藏完成后可選的觸發一個回調函數。
例如:600ms緩慢的將段落滑上,$("p").slideUp("slow");
3、slideToggle(speed,[callback])
通過高度變化來切換所有匹配元素的可見性,并在切換完成后可選的觸發一個回調函數。
例如:600ms緩慢的將段落滑上或滑下,$("p").slideTogggle("slow");
三.淡入淡出函數Fading
1、fadeIn(speed,[callback])
通過透明度的變化來實現所有匹配元素的淡入效果,并在動畫完成后可選的調用一個回調函數。這個動畫只調整元素的不透明度,也就是說所有匹配的元素的高度和寬度不會發生變化。
例如:用600ms緩慢的將段落淡入,$("p").fadeIn("slow");
2、fadeOut(speed,[callback])
通過不透明度的變化來實現所有匹配元素的淡出效果,并在動畫完成后可選擇的觸發一個回調函數。
例如:用600ms緩慢的將段落淡出,$("p").fadeOut("slow");
3、fadeTo(speed,opacity,[callback])
把所有匹配元素的不透明度以漸進方式調整到指定的不透明度,并在動畫完成后可選的出發一個回調函數。
例如:用600ms緩慢將段落的透明度調整到0.66,大約2/3的可見度,$("p").fadeTo("slow",0.66)
四、自定義動畫函數Custom
1、animate(params,[duration],[easing],[callback])用于創建自定義動畫的函數。這個函數的關鍵在于制定動畫形式及結果樣式屬性對象。這個對象中每個屬性都表示一個可以變化的樣式屬性(如height、top或opacity)。注意:所有指定的屬性必須用駱駝形式,比如用marginLeft代替margin-left。而每個屬性的值表示這個樣式屬性到多少是動畫結束。如果是一個數值,樣式屬性就會從當前的值漸變到指定的值。如果使用的是hide、show、toggle這樣的字符串值,則會就該屬性調用默認的動畫形式。
例如:點擊按鈕后div元素的幾個不同屬性一同變化,
$("#go").click(function(){ $("#block").animate({ width:"90%",height:"100%",fontSize:"10em",borderWidth:10 },1000); });
2、stop([clearQueue],[gotoEnd])
停止所有在指定元素上正在運行的動畫。如果隊列中有等待執行的動畫(并且clearQueue沒有設為true),他們將被馬上執行clearQueue(Boolean):如果設置成true,則清空隊列。可以立即結束動畫。gotoEnd(Boolean):讓當前正在執行的動畫立即完成,并且重設show和hide的原始樣式,調用回調函數等。
例如:點擊Go之后開始動畫,點Stop之后會在當前位置停下來:
// 開始動畫 $("#go").click(function(){ $(".block").animate({left: '+200px'}, 5000); }); // 當點擊按鈕后停止動畫 $("#stop").click(function(){ $(".block").stop(); }); [javascript] view plaincopy $(document).ready(function(){ $(".box h3").toggle(function(){ $(this).next(".text").animate({height: 'toggle', opacity: 'toggle'}, "slow"); $(this).addClass("arrow"); return false; },function(){ $(this).next(".text").animate({height: 'toggle', opacity: 'toggle'}, "slow"); $(this).removeClass("arrow"); return false; }); });