jQuery 3.3

jQuery.queue()




jquery
إظهار أو التعامل مع قائمة انتظار الدالات المطلوب تنفيذها على العنصر المطابق.

jQuery.queue (عنصر [، queueName]) إرجاع: Array

الوصف: إظهار قائمة انتظار المهام التي سيتم تنفيذها على العنصر المطابق.

  • الإصدار المضاف: 1.3 jQuery.queue (عنصر [، queueName])

    • جزء
      النوع: Element
      عنصر DOM لفحص قائمة الانتظار المرفقة.
    • QUEUENAME
      اكتب: String
      سلسلة تحتوي على اسم قائمة الانتظار. الافتراضيات إلى fx ، قائمة الانتظار القياسية الآثار.

ملاحظة: هذه طريقة منخفضة المستوى ، ربما يجب عليك استخدام .queue() بدلاً من ذلك.

مثال:

إظهار طول قائمة الانتظار.

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>jQuery.queue demo</title>
  <style>
  div {
    margin: 3px;
    width: 40px;
    height: 40px;
    position: absolute;
    left: 0px;
    top: 30px;
    background: green;
    display: none;
  }
  div.newcolor {
    background: blue;
  }
  span {
    color: red;
  }
  </style>
  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
 
<button id="show">Show Length of Queue</button>
<span></span>
<div></div>
 
<script>
$( "#show" ).click(function() {
  var n = jQuery.queue( $( "div" )[ 0 ], "fx" );
  $( "span" ).text( "Queue length is: " + n.length );
});
 
function runIt() {
  $( "div" )
    .show( "slow" )
    .animate({
      left: "+=200"
    }, 2000 )
    .slideToggle( 1000 )
    .slideToggle( "fast" )
    .animate({
      left: "-=200"
    }, 1500 )
    .hide( "slow" )
    .show( 1200 )
    .slideUp( "normal", runIt );
}
 
runIt();
</script>
 
</body>
</html>

عرض:

jQuery.queue (element، queueName، newQueue) Returns: jQuery

الوصف ؛: التعامل مع قائمة انتظار الوظائف التي سيتم تنفيذها على العنصر المتطابقة.

  • الإصدار المضاف: 1.3 jQuery.queue (عنصر ، queueName ، newQueue)

    • جزء
      النوع: Element
      عنصر DOM حيث يتم إرفاق صفيف الدالات في قائمة الانتظار.
    • QUEUENAME
      اكتب: String
      سلسلة تحتوي على اسم قائمة الانتظار. الافتراضيات إلى fx ، قائمة الانتظار القياسية الآثار.
    • newQueue
      اكتب: Array
      مجموعة من الوظائف لاستبدال محتويات قائمة الانتظار الحالية.
  • وأضاف الإصدار: 1.3 jQuery.queue (عنصر ، queueName ، رد الاتصال)

    • جزء
      النوع: Element
      عنصر DOM الذي تريد إضافة وظيفة في قائمة الانتظار.
    • QUEUENAME
      اكتب: String
      سلسلة تحتوي على اسم قائمة الانتظار. الافتراضيات إلى fx ، قائمة الانتظار القياسية الآثار.
    • أتصل مرة أخرى
      النوع: Function ()
      الوظيفة الجديدة لإضافة إلى قائمة الانتظار.

ملاحظة: هذه طريقة منخفضة المستوى ، ربما يجب عليك استخدام .queue() بدلاً من ذلك.

يمكن أن يحتوي كل عنصر على قائمة انتظار واحدة أو أكثر من الوظائف المرتبطة به بواسطة jQuery. في معظم التطبيقات ، يتم استخدام قائمة انتظار واحدة فقط (تسمى fx ). تسمح قوائم الانتظار بتسلسل الإجراءات على عنصر بشكل غير متزامن ، دون إيقاف تنفيذ البرنامج.

تسمح لنا طريقة jQuery.queue() مباشرة مع قائمة انتظار الوظائف هذه. يعتبر الاتصال بـ jQuery.queue() مع معاودة الاتصال مفيدًا بشكل خاص ؛ يسمح لنا بوضع وظيفة جديدة في نهاية قائمة الانتظار.

لاحظ أنه عند إضافة دالة jQuery.queue() ، يجب أن نضمن jQuery.dequeue() النهاية بحيث يتم تنفيذ الوظيفة التالية في السطر.

أمثلة:

طابور وظيفة مخصصة.

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>jQuery.queue demo</title>
  <style>
  div {
    margin: 3px;
    width: 40px;
    height: 40px;
    position: absolute;
    left: 0px;
    top: 30px;
    background: green;
    display: none;
  }
  div.newcolor {
    background: blue;
  }
  </style>
  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
 
Click here...
<div></div>
 
<script>
$( document.body ).click(function() {
  var divs = $( "div" )
    .show( "slow" )
    .animate({ left: "+=200" }, 2000 );
  jQuery.queue( divs[ 0 ], "fx", function() {
    $( this ).addClass( "newcolor" );
    jQuery.dequeue( this );
  });
  divs.animate({ left: "-=200" }, 500 );
  jQuery.queue( divs[ 0 ], "fx", function() {
    $( this ).removeClass( "newcolor" );
    jQuery.dequeue( this );
  });
  divs.slideUp();
});
</script>
 
</body>
</html>

عرض:

قم بتعيين صف صفيف لحذف قائمة الانتظار.

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>jQuery.queue demo</title>
  <style>
  div {
    margin: 3px;
    width: 40px;
    height: 40px;
    position: absolute;
    left: 0px;
    top: 30px;
    background: green;
    display: none;
  }
  div.newcolor {
    background: blue;
  }
  </style>
  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
 
<button id="start">Start</button>
<button id="stop">Stop</button>
<div></div>
 
<script>
$( "#start" ).click(function() {
  var divs = $( "div" )
    .show( "slow" )
    .animate({ left: "+=200" }, 5000 );
  jQuery.queue( divs[ 0 ], "fx", function() {
    $( this ).addClass( "newcolor" );
    jQuery.dequeue( this );
  });
  divs.animate({ left: "-=200" }, 1500 );
  jQuery.queue( divs[ 0 ], "fx", function() {
    $( this ).removeClass( "newcolor" );
    jQuery.dequeue( this );
  });
  divs.slideUp();
});
$( "#stop" ).click(function() {
  jQuery.queue( $( "div" )[ 0 ], "fx", [] );
  $( "div" ).stop();
});
</script>
 
</body>
</html>

عرض: