jQuery Data - jQuery.queue() Method

Halimbawa

Ipakita ang haba ng kudeta:

function showIt() {
  var n = div.queue("fx");
  $("span").text( n.length );      
  setTimeout(showIt, 100);
}

Personal na Subukan

Definisyon at paggamit

Ang method na queue() ay nagpapakita o gumagawa ng operasyon sa kudeta ng funksyong ginagawa sa katugma na elemento.

Komento:Ito ay isang pang-unahang method; gamit ang .queue() Mas madali.

Grammar

.queue(queueName)
Parametro Paglalarawan
queueName Opisyal. Ang halimbawa ay string na halaga, na naglalaman ng pangalan ng serye. Ang default ay fx, ang pangkaraniwang serye ng epekto.

Operasyon sa kudeta

Ang method na queue() ay gumagawa ng operasyon sa kudeta ng funksyong ginagawa sa katugma na elemento.

Grammar

.queue(queueName,newQueue)
Parametro Paglalarawan
queueName Opisyal. Ang halimbawa ay string na halaga, na naglalaman ng pangalan ng serye. Ang default ay fx, ang pangkaraniwang serye ng epekto.

Detalyadong paglalarawan

Bawat elemento ay mayroong isang hanggang maraming funksyong kudeta na idinagdag ng jQuery. Sa karamihan ng aplikasyon, gamit lamang ang isang kudeta (na tinatawag na fx). Ang kudeta ay gumagawa ng pagpapatugtug ng serye ng aksyon sa elemento nang di-terminate ang pagpapatupad ng programa. Ang tipikal na halimbawa ay ang pagtawag ng maraming paraan ng animasyon sa elemento. Halimbawa:

$('#foo').slideUp().fadeIn();

Kapag pinapatupad ang statement na ito, ang elemento ay magsisimula agad ang kanyang sliding animation, ngunit ang transition ng paglalambing ay ilagay sa fx queue, ito ay gagawin lamang pagkatapos makumpleto ang sliding transition.

Ang .queue() method ay nagbibigay sa amin ng kakayahan na direktang magpalakad ng function queue. Ang paggamit ng .queue() method na may callback function ay lubos na kapaki-pakinabang; ito ay nagbibigay sa amin ng kapangyarihan na maglagay ng bagong function sa katapusan ng queue.

Ang katangian na ito ay kapareho sa callback function na ibinibigay ng mga animation method, ngunit hindi kailangan magset ng callback function habang nagpapatuloy ang animation.

$('#foo').slideUp();
$('#foo').queue(function() {
  alert('Animation complete.');
  $(this).dequeue();
});;

Kasamaan ito sa:

$('#foo').slideUp(function() {
  alert('Animation complete.');
);

Pansin na kapag nagdagdag sa .queue() ang function, dapat natin tiyakin na tinawagan ang .dequeue() para maipalakad ang susunod na function sa queue.

Egemplo 1

Gawin ang queue operation para sa pinagkakalagang function:

$(document.body).click(function () {
  $("div").show("slow");
  $("div").animate({left:'+=200'},2000);
  $("div").queue(function () {
    $(this).addClass("newcolor");
    $(this).dequeue();
  });;
  $("div").animate({left:'-=200'},500);
  $("div").queue(function () {
    $(this).removeClass("newcolor");
    $(this).dequeue();
  });;
  $("div").slideUp();
);

Personal na Subukan

Egemplo 2

Iset ang array ng queue upang alisin ang queue:

$("#start").click(function () {
  $("div").show("slow");
  $("div").animate({left:'+=200'},5000);
  $("div").queue(function () {
    $(this).addClass("newcolor");
    $(this).dequeue();
  );
  $("div").animate({left:'-=200'},1500);
  $("div").queue(function () {
    $(this).removeClass("newcolor");
    $(this).dequeue();
  );
  $("div").slideUp();
);
$("#stop").click(function () {
  $("div").queue("fx", []);
  $("div").stop();
);

Personal na Subukan