語法
jQuery 1.2 新增該函數。queue()函數具有如下兩種用法:
用法一:
如果沒有指定任何參數或只指定了queueName參數,則表示獲取指定名稱的函數隊列。如果指定了newQueue參數,則表示使用新的隊列newQueue設置(替換)當前隊列中的所有內容。
用法二:
將指定的函數添加到指定的隊列(末尾)。
注意:queue()函數的所有設置操作針對當前jQuery對象所匹配的每一個元素;所有讀取操作只針對第一個匹配的元素。
參數
請根據前面語法部分所定義的參數名稱查找對應的參數。
queueName:可選/String類型指定的隊列名稱,默認為"fx"(表示jQuery中的標準動畫效果隊列)。
newQueue:可選/Array類型用于替換當前隊列內容的新隊列。
callback:Function類型指定的函數,將會追加到隊列中。該函數有一個函數參數,調用該參數可以移除并執行隊列中的第一個函數。
返回值
queue()函數的返回值是Array/jQuery類型,返回值的類型取決于當前queue()函數執行的是獲取操作還是設置操作。
如果queue()函數執行的是設置操作(替換隊列、追加函數),則返回當前jQuery對象本身;如果是獲取操作,則返回獲取到的函數隊列(數組)。
如果當前jQuery對象匹配多個元素,讀取數據時,queue()函數只以其中第一個匹配的元素為準。
實例:
1. jQuery為我們提供了queue()函數,來把你需要的某些代碼插入到某個隊列中
2. 自定義隊列
但就這段代碼而已,待你真正添加進網頁,并且嘗試運行,會發現并非“所見即所得”,壓根就不會有任何效果。
修改后:
一般對與dequeue()的定義是“刪除隊列中最頂部的函數,并且執行它”。我并不贊同用“刪除”這個字眼,而是傾向于“取出”,其實這個函數的功能就好像是一個數據結構中隊列的指針,待隊列中前一個函數執行完后,取下一個隊列最頂端的函數。
3. queue: false
前1000毫秒,只有控制高度的“fx”隊列執行,而后1000毫秒,控制不透明度的“fader”隊列和控制高度的“fx”并行。這里的并行就是queue:false
4. 獲取隊列長度
比如用隊列名取得匹配元素的長度:
很明顯,就是取得隊列名為'fx'的隊列,如果想取得長度的話:
注意這里的隊列長度只是匹配元素還未運行的隊列長度,當動畫運行完之后,隊列長度會自動歸為0
5.替換隊列
這里定義了兩個隊列,一個是慢隊列,也就是默認的'fx',另一個是快隊列'fx2'
當點擊某個按鈕時:
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com