【小結(jié)】jQuery動畫基礎(chǔ)/計時器

動畫DOM及其CSS的操作

  • 原理
    我們需要以固定的時間間隔(如0.1s),每次DOM元素的CSS樣式修改一點(diǎn)點(diǎn)(如寬和高增加10%),看起來就像動畫了。
  • jQuery封裝了三類動畫函數(shù)。1.show(),hide(),toggle()??刂屏四繕?biāo)元素的寬、高、透明度三個CSS屬性。2.fadeIn(),fadeout(),fadeToggle(),不控制寬高,只控制透明度。3.slideDown(),slideUp(),slideToggle(),控制高度和透明度,不控制寬度

自定義動畫

animate()
可以實(shí)現(xiàn)任意動畫效果,需要傳遞的參數(shù)量DOM元素最終的CSS狀態(tài)和時間。
語法:
$(selector).animate(styles,speed,easing,callback)
如:

var div = $('#test');
div.animate({opacity:0.25,
width:'256px',
height:'256px'},3000);

參數(shù):

  • speed
    可選。規(guī)定元素從隱藏到完全可見的速度。默認(rèn)為 "0"。
    可能的值:
    毫秒 (比如 1500)
    "slow"
    "normal"
    "fast"
    在設(shè)置速度的情況下,元素從隱藏到完全可見的過程中,會逐漸地改變其高度、寬度、外邊距、內(nèi)邊距和透明度。

  • callback
    可選。show 函數(shù)執(zhí)行完之后,要執(zhí)行的函數(shù)。

stop()
stop() 方法停止當(dāng)前正在運(yùn)行的動畫。
語法:
$(selector).stop(stopAll,goToEnd)

  • stopAll 可選。規(guī)定是否停止被選元素的所有加入隊(duì)列的動畫。
  • goToEnd 可選。規(guī)定是否允許完成當(dāng)前的動畫。該參數(shù)只能在設(shè)置了 stopAll 參數(shù)時使用。
    delay()
    delay() 方法對隊(duì)列中的下一項(xiàng)的執(zhí)行設(shè)置延遲。
    語法:
    $(selector).delay(speed,queueName)
  • speed 可選。規(guī)定延遲的速度。
    可能的值:
    • 毫秒
    • "slow"
    • "fast"
  • queueName 可選。規(guī)定隊(duì)列的名稱。默認(rèn)是 "fx",標(biāo)準(zhǔn)效果隊(duì)列。
    show()/hide()
    直接以無參形式調(diào)用show()和hide(),會顯示和隱藏DOM元素,但是只要傳遞一個時間參數(shù)進(jìn)去,就成了動畫
    語法:
    $(selector).show(speed,callback)
    例如:
var div = $('#test-hide');
div.hide(2000);//在2秒內(nèi)逐漸消失

參數(shù):

  • speed
    可選。規(guī)定元素從隱藏到完全可見的速度。默認(rèn)為 "0"。
    可能的值:
    毫秒 (比如 1500)
    "slow"
    "normal"
    "fast"
    在設(shè)置速度的情況下,元素從隱藏到完全可見的過程中,會逐漸地改變其高度、寬度、外邊距、內(nèi)邊距和透明度。
  • callback
    可選。show 函數(shù)執(zhí)行完之后,要執(zhí)行的函
    除非設(shè)置了 speed 參數(shù),否則不能設(shè)置該參數(shù)。

toggle()
根據(jù)當(dāng)前狀態(tài)決定是show()和hide()
語法:
$(selector).toggle(speed,callback,switch)
參數(shù):

  • speed
    可選。規(guī)定元素從可見到隱藏的速度(或者相反)。默認(rèn)為 "0"。
    可能的值:
    毫秒 (比如 1500)
    "slow"
    "normal"
    "fast"
    在設(shè)置速度的情況下,元素從可見到隱藏的過程中,會逐漸地改變其高度、寬度、外邊距、內(nèi)邊距和透明度。
    如果設(shè)置此參數(shù),則無法使用 switch 參數(shù)

  • callback
    可選。toggle 函數(shù)執(zhí)行完之后,要執(zhí)行的函數(shù)。
    除非設(shè)置了 speed 參數(shù),否則不能設(shè)置該參數(shù)。

  • switch
    可選。布爾值。規(guī)定 toggle 是否隱藏或顯示所有被選元素。
    True - 顯示所有元素
    False - 隱藏所有元素
    如果設(shè)置此參數(shù),則無法使用 speed 和 callback 參數(shù)。

fadein()/fadeout()淡入淡出
也是通過不斷設(shè)置opacity屬性來實(shí)現(xiàn),只控制透明度
屬性和用法與show()/hide()相同
fadeToggle()
根據(jù)元素是否可見來決定下一動作
屬性和用法和toggle()相同,只控制透明度

slideUp()/slideDown()
slideDown():顯示;slideUp():消失。類似于卷閘門。常用于下拉菜單效果。slideToggle(),整體是個百葉窗效果。
語法:
$(selector).slideUp(speed,callback)
參數(shù):

  • speed
    和前面的speed一樣
  • callback
    和前面的callback一樣

通過使用滑動效果(高度變化)來切換元素的可見狀態(tài)。
slideToggle()
如果被選元素是可見的,則隱藏這些元素,如果被選元素是隱藏的,則顯示這些元素。
$(selector).slideToggle(speed,callback)
參數(shù)同上


計時器

setTimeout()和setInterval()
語法:
setTimeout(code,millisec)
方法用于在指定的毫秒數(shù)后調(diào)用函數(shù)或計算表達(dá)式

  • setTimeout() 只執(zhí)行 code 一次。如果要多次調(diào)用,請使用 setInterval() 或者讓 code 自身再次調(diào)用 setTimeout()。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 四、動畫篇 1. 動畫基礎(chǔ)隱藏和顯示 (1) jQuery中隱藏元素的hide方法 過 jQuery,您可以使用 ...
    yinxmm閱讀 580評論 0 0
  • (續(xù)jQuery基礎(chǔ)(2)) 四、動畫篇 第1章 動畫基礎(chǔ)隱藏和顯示 (1)隱藏元素的hide方法 讓頁面上的元素...
    凜0_0閱讀 511評論 0 6
  • jQuery 能做什么? jQuery是一個輕量級的javascript庫,可以少寫代碼,做更多的事。1.jQue...
    小囧兔閱讀 471評論 0 1
  • 通過jQuery,您可以選取(查詢,query)HTML元素,并對它們執(zhí)行“操作”(actions)。 jQuer...
    枇杷樹8824閱讀 721評論 0 3
  • 來到法蘭克福這座城市已經(jīng)三天了,時差還沒倒過來,每天凌晨三點(diǎn)就醒,晚上七八點(diǎn)就昏昏欲睡,簡直與我八九十歲的奶奶有著...
    肖爺_族長閱讀 299評論 12 11

友情鏈接更多精彩內(nèi)容