jQuery中動畫的實現
jQuery是個快速、簡潔的JavaScript框架,封裝了JavaScript的常用功能,提供了一種簡便的JavaScript設計模式,最佳化HTML文件操作,事件處理,動畫設計和ajax互動,其中最核心的包括DOM和BOM,但是 提供最方便的操作我認為是動畫,這也是jQuery最吸引人的地方之一,透過jQuery的動畫能夠快速輕鬆的為網頁提供非常精彩的視覺效果
-
show和hide
show和hide方法是jQuery中最基本的動畫方法,在一個元素呼叫hide時,其實在HTML文件中會將該元素的display樣式改為“none”
$("#id").hide()
其實等於
$("#id").css("display","none")
當元素隱藏起來以後,使用show將元素的display樣式設定為先前的顯示狀態"block"/"inline"
我們可以使用toggle(模擬連續點選事件)來實驗這兩個方法
$(function(){ $(#one).toggle(function(){ $(this).next().hide(); },function(){ $(this).next().show(); }) })
同時我們也可以在show裡面放一個引數“顯示速度”
$("#id").hide(1000)
讓元素在1000毫秒內顯示出來
-
fadeIn和fadeOut
和show不一樣的是,fadeIn和fadeOut只改變元素的不透明度,fadeOut透過透明度讓元素的display為none,fadeIn相反
$(function(){ $(#one).toggle(function(){ $(this).next().fadeOut(); },function(){ $(this).next().fadeIn(); }) })
-
slideUp和slideDown
slideUp和slideDown 方法只會改變元素的高度,slideUp透過高度讓元素的display為none,slideDown則相反
$(function(){ $(#one).toggle(function(){ $(this).next().slideUp(); },function(){ $(this).next().slideDown(); }) })
-
animate(params,speed,callback)
params:一個包含樣式屬性及值的對映
speed:速度,可選
callback:動畫完成時執行的函式,可選
$(function(){ $(#one).click(function(){ $(this).animate({left:"+=500px"},3000,function({ $(this).css("border","5px solid blue"); }); }) })
可以看到,animate幾乎可以做到任意的改變動畫,甚至上面說的slideUp,slideDown,fadeIn,fadeOut都可以改變成animate來實現
這樣看,好像很完美,但是有一個問題,這個問題也是所有動畫的問題,以上面的程式碼為例子,當一個使用者點選一下就執行"+=500px",如果使用者3秒內點選了100次呢,1000次呢,動畫還會繼續執行,但是這個時候如果再點選其他的按鈕就會被佇列擠到後面去,需要等這個動畫全部執行完畢才會執行,這就需要 判斷是否處於動畫狀態和停止動畫
if(!$(#two).is(":animated")){ {
用上面的程式碼就可以執行,先判斷是否處於動畫狀態,如果沒有則新增新的程式碼
但是光知道是否處於動畫狀態還不夠,還需要停止動畫
$(function(){ $(#one).hover(function(){ $(this).stop().next().slideUp(); },function(){ $(this).stop().next().slideDown(); }) })
延遲動畫
delay(1000)//括號內為時間引數
除此之外還有 其他的動畫方法
-
toggle(speed,[callback]):切換元素的可見狀態
-
slideToggle (speed,[easing],[callback]):透過高度變化來切換可見狀態
-
fadeTo (speed,opacity,[callback]):可以把元素的不透明度以漸進的方式調整到指定的值
-
fadeToggle (speed ,[easing],[callback]):透過不透明度變化來切換元素的可見性
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69917874/viewspace-2686044/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 放棄使用jQuery實現動畫jQuery動畫
- jQuery實現的動畫簡單例項jQuery動畫單例
- (jQuery) jQuery中的事件與動畫(上)jQuery事件動畫
- 搞定動畫之 JQuery 中的自定義動畫動畫jQuery
- jquery中extend的實現jQuery
- jQuery實現的元素淡入淡出動畫效果jQuery動畫
- jQuery實現吸頂動畫導航欄jQuery動畫
- 【Jquery】jquery 基本的動畫jQuery動畫
- jquery的動畫jQuery動畫
- jquery實現的元素以動畫方式移動和漸變效果jQuery動畫
- jquery中點選切換的實現jQuery
- JQuery動畫jQuery動畫
- 「React」如何在React中優雅的實現動畫React動畫
- PPT中如何實現川流不息的動畫效果動畫
- 【Jquery】jquery 自定義動畫jQuery動畫
- jquery中attr和prop的區別+jquery實現全選全不選jQuery
- jQuery動畫—自定義動畫animate()jQuery動畫
- jQuery 效果 – 動畫jQuery動畫
- PPT中LOADING澆注動畫的實現方法動畫
- 【JavaScript框架封裝】實現一個類似於JQuery的動畫框架的封裝JavaScript框架封裝jQuery動畫
- jquery實現的點選頁面動畫方式平滑定位到某元素程式碼jQuery動畫
- Flutter實現動畫Flutter動畫
- 如何在Android中實現摺紙動畫Android動畫
- 教你三種jQuery框架實現元素顯示及隱藏動畫方式jQuery框架動畫
- jQuery 動畫效果 與 動畫佇列jQuery動畫佇列
- jQuery之html()的實現jQueryHTML
- jQuery之text()的實現jQuery
- jQuery實現的將指定元素中的內容替換jQuery
- 超實用的jQuery百葉窗焦點圖動畫jQuery動畫
- jQuery 效果 – 停止動畫jQuery動畫
- jQuery 動畫 - animate() 方法jQuery動畫
- jQuery根據滑鼠進入的方位出現動畫遮罩效果jQuery動畫遮罩
- jQuery事件中on實現繫結多個事件jQuery事件
- jQuery實現原理jQuery
- jQuery: 動畫佇列與停止動畫 stopjQuery動畫佇列
- Android 動畫實現Android動畫
- iOS實現字串動畫iOS字串動畫
- React實現動畫效果React動畫