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動畫佇列
- jQuery 動畫 - animate() 方法jQuery動畫
- jQuery 效果 – 停止動畫jQuery動畫
- jQuery: 動畫佇列與停止動畫 stopjQuery動畫佇列
- Flutter PIP(畫中畫)效果的實現Flutter
- 【JavaScript框架封裝】實現一個類似於JQuery的動畫框架的封裝JavaScript框架封裝jQuery動畫
- 前端基礎-jQuery的動畫效果前端jQuery動畫
- 教你三種jQuery框架實現元素顯示及隱藏動畫方式jQuery框架動畫
- 「React」如何在React中優雅的實現動畫React動畫
- jquery中點選切換的實現jQuery
- Flutter實現動畫Flutter動畫
- Android 動畫實現Android動畫
- jQuery-錨點動畫jQuery動畫
- css3實現顫動的動畫CSSS3動畫
- Canvas 實現畫中畫動畫效果–網易娛樂年度盤點H5動畫解密Canvas動畫H5解密
- Canvas 實現畫中畫動畫效果--網易娛樂年度盤點H5動畫解密Canvas動畫H5解密
- jquery計數器動畫特效jQuery動畫特效
- 導航選單(動畫)--- jQuery動畫jQuery
- JQuery3:動畫和特效jQuery動畫特效
- iOS實現字串動畫iOS字串動畫
- Android 動畫框架實現Android動畫框架
- iOS動畫系列之七:實現類似Twitter的啟動動畫iOS動畫
- jquery 實現滑動條的簡單驗證jQuery
- 使用jQuery實現的平滑滾動輪播圖jQuery
- jQuery動畫的顯示與隱藏效果jQuery動畫
- jQuery動畫的顯示與隱藏效果!jQuery動畫
- 萬彩動畫大師教程 | 如何實現物件的閃動的動畫效果動畫物件
- 如何在移動應用中實現AI畫圖?AI
- jQuery之html()的實現jQueryHTML
- jQuery之text()的實現jQuery
- fallingsnow.js-jquery下雪動畫特效JSjQuery動畫特效
- 1.20 JQuery3:動畫和特效jQuery動畫特效
- Flutter 實現背景 Parallax 動畫Flutter動畫
- canvas之實現控制動畫Canvas動畫