91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jQuery中隊列queue()函數怎么使用

發布時間:2022-10-23 14:38:22 來源:億速云 閱讀:408 作者:iii 欄目:編程語言

這篇“jQuery中隊列queue()函數怎么使用”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“jQuery中隊列queue()函數怎么使用”文章吧。

如果當前jQuery對象匹配多個元素:獲取隊列時,只獲取第一個匹配元素上的隊列;設置隊列(替換隊列、追加函數)時,則為每個匹配元素都分別進行設置。
該函數屬于jQuery對象(實例)。如果需要移除并執行隊列中的第一個函數,請使用dequeue()函數。你也可以使用clearQueue()函數清空指定的隊列。

語法
jQuery 1.2 新增該函數。queue()函數具有如下兩種用法:

用法一:

jQueryObject.queue( [ queueName ] [, newQueue ] )

如果沒有指定任何參數或只指定了queueName參數,則表示獲取指定名稱的函數隊列。如果指定了newQueue參數,則表示使用新的隊列newQueue設置(替換)當前隊列中的所有內容。

用法二:

jQueryObject.queue( [ queueName ,] callback )

將指定的函數添加到指定的隊列(末尾)。
注意:queue()函數的所有設置操作針對當前jQuery對象所匹配的每一個元素;所有讀取操作只針對第一個匹配的元素。

參數
請根據前面語法部分所定義的參數名稱查找對應的參數。
queueName:可選/String類型指定的隊列名稱,默認為"fx"(表示jQuery中的標準動畫效果隊列)。
newQueue:可選/Array類型用于替換當前隊列內容的新隊列。
callback:Function類型指定的函數,將會追加到隊列中。該函數有一個函數參數,調用該參數可以移除并執行隊列中的第一個函數。

返回值
queue()函數的返回值是Array/jQuery類型,返回值的類型取決于當前queue()函數執行的是獲取操作還是設置操作。
如果queue()函數執行的是設置操作(替換隊列、追加函數),則返回當前jQuery對象本身;如果是獲取操作,則返回獲取到的函數隊列(數組)。
如果當前jQuery對象匹配多個元素,讀取數據時,queue()函數只以其中第一個匹配的元素為準。


實例:
1. jQuery為我們提供了queue()函數,來把你需要的某些代碼插入到某個隊列中

$('#test-change1').toggle(function(){
  $('#test-object1').hide('slow').queue(function(next){
    $('#test-object1').appendTo($('#test-goal1'));
    next();
  }).show('slow');

},function(){
  $('#test-object1').hide('slow').queue(function(next){
    $('#test-object1').appendTo($('#test-origin1'));
    next();      
  }).show('slow');
});

2. 自定義隊列

$("div").queue("custom", function(next) {
  $('div').css({'background':'red'});
  next();
});

但就這段代碼而已,待你真正添加進網頁,并且嘗試運行,會發現并非“所見即所得”,壓根就不會有任何效果。

修改后:

$("div").queue("custom", function(next) {
  $('div').css({'background':'red'});
  next();
})
.dequeue("custom"); //this is the key

一般對與dequeue()的定義是“刪除隊列中最頂部的函數,并且執行它”。我并不贊同用“刪除”這個字眼,而是傾向于“取出”,其實這個函數的功能就好像是一個數據結構中隊列的指針,待隊列中前一個函數執行完后,取下一個隊列最頂端的函數。

3. queue: false

$("#object")
.delay(1000, "fader")
.queue("fader", function(next) {
  $(this).animate({opacity: 0},
    {duration: 1000, queue: false});
  next();
})
.dequeue("fader")
.animate({top: "-=40"}, {duration: 2000})

前1000毫秒,只有控制高度的“fx”隊列執行,而后1000毫秒,控制不透明度的“fader”隊列和控制高度的“fx”并行。這里的并行就是queue:false

$('#section3a').slideUp(1000)
      .slideDown(1000)
      .animate({width: '50px'}, {duration: 1000, queue: false});

4. 獲取隊列長度
比如用隊列名取得匹配元素的長度:

var $queue=$("div").queue('fx');

很明顯,就是取得隊列名為'fx'的隊列,如果想取得長度的話:

var $length=$('div').queue('fx').length;

注意這里的隊列長度只是匹配元素還未運行的隊列長度,當動畫運行完之后,隊列長度會自動歸為0

5.替換隊列

$('div').queue('fx',function(){
    $('div').slideDown('slow')
         .slideUp('slow')
         .animate({left:'+=100'},4000);
});//定義fx
$('div').queue('fx2',function(){
    $('div').slideDown('fast')
         .slideUp('fast')
         .animate({left:'+=100'},1000);
});//定義fx2

這里定義了兩個隊列,一個是慢隊列,也就是默認的'fx',另一個是快隊列'fx2'

當點擊某個按鈕時:

$('input').click(function(){
  $('div').queue('fx',fx2);
});

以上就是關于“jQuery中隊列queue()函數怎么使用”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

三河市| 西青区| 镇巴县| 建宁县| 重庆市| 庆城县| 房产| 平乡县| 丰城市| 闸北区| 清苑县| 横峰县| 团风县| 蒲江县| 重庆市| 宁武县| 阿拉善右旗| 潮安县| 田东县| 黄陵县| 永仁县| 确山县| 韩城市| 乌拉特后旗| 抚松县| 肇东市| 夏津县| 余干县| 双辽市| 梁河县| 宜川县| 贡嘎县| 聊城市| 亳州市| 册亨县| 广南县| 策勒县| 凭祥市| 古浪县| 陵水| 嘉鱼县|