115 of 119 menu

Metoda queue

Metoda queue nam omogoča delo s čakalno vrsto funkcij, povezanih z elementom. Glejte tudi metodo clearQueue, ki nam omogoča brisanje vseh neizvedenih funkcij iz čakalne vrste.

Sintaksa

Tako prikažemo čakalno vrsto izvajajočih se funkcij, povezanih z elementom. Kot neobvezen parameter lahko podamo ime čakalne vrste v obliki niza (privzeto je fx - standardna vrsta efektov):

.queue([ime čakalne vrste]);

Z čakalno vrsto lahko manipulíramo. Izvede se enkrat za vsak element. Za to lahko podamo kot drugi parameter polje funkcij, ki bodo zamenjale vsebino trenutne čakalne vrste:

.queue([ime čakalne vrste], nova čakalna vrsta );

Lahko pa kot drugi parameter podamo novo callback-funkcijo za dodajanje v čakalno vrsto. Ta funkcija dobi drugo funkcijo kot parameter. To omogoča avtomatično odstranjevanje naslednjega elementa iz čakalne vrste in njeno premikanje:

.queue([ime čakalne vrste], callback-funkcija(next) { next(); });

Vsak element ima lahko eno ali več čakalnih vrst. V mnogih aplikacijah se uporablja samo ena (fx). Čakalne vrste omogočajo zaporedje akcij z elementom asinhrono, brez prekinitve izvajanja programa. Klic queue s callback-funkcijo nam omogoča postavitev nove funkcije na konec čakalne vrste. Callback-funkcija se izvede enkrat za vsak element v nizu. Pri dodajanju funkcije z queue, se moramo prepričati, da bo kasneje poklicana metoda dequeue, da bo naslednja funkcija v verigi začela delovati.

Primer

Dodajmo uporabniško funkcijo. Najprej, po kliku na #animate, bomo prikazali rdeči kvadrat, ki se bo premikal v desno v trajanju 2s, nato pa bomo s pomočjo queue dodali uporabniško funkcijo, ki bo kvadrat prebarvala v zeleno z dodajanjem razreda newcolor. Kot vidite, nato je tu poklican dequeue, da odstrani funkcijo iz čakalne vrste. Nato se bo naš kvadrat premaknil v levo pol sekunde in prebarval nazaj v rdečo - s pomočjo druge uporabniške funkcije odstranimo razred newcolor. Ob koncu animacije zvijemo naš kvadrat:

<button id="animate">start</button> <div></div> div { position: absolute; margin: 3px; width: 50px; height: 50px; left: 0px; top: 30px; background: red; display: none; } div.newcolor { background: green; } $('#animate').click(function() { $('div') .show('slow') .animate({left: '+=200'}, 2000) .queue(function() { $(this).addClass('newcolor').dequeue(); }) .animate({left: '-=200'}, 500) .queue(function() { $(this).removeClass('newcolor').dequeue(); }) .slideUp(); });

Primer

Dodajmo čakalno vrsto v obliki polja, da odstranimo prejšnjo. Ob kliku na gumb #start bomo videli animacijo iz prejšnjega primera. Ob kliku na gumb #stop bomo ustavili animacijo z dodajanjem praznega polja. Ob ponovnem kliku na #start se bo animacija znova začela:

<button id="start">start</button> <button id="stop">stop</button> <div></div> div { position: absolute; margin: 3px; width: 50px; height: 50px; left: 0px; top: 30px; background: red; display: none; } div.newcolor { background: green; } $('#start').click(function() { $('div') .show('slow') .animate({left: '+=200'}, 5000) .queue(function() { $(this).addClass('newcolor').dequeue(); }) .animate({left: '-=200'}, 1500) .queue(function() { $(this).removeClass('newcolor').dequeue(); }) .slideUp(); }); $('#stop').click(function() { $('div').queue('fx', []).stop(); });

Glejte tudi

  • metoda animate,
    ki animira lastnosti elementov
  • metoda clearQueue,
    ki omogoča brisanje vseh neizvedenih elementov iz čakalne vrste funkcij
  • metoda dequeue,
    ki omogoča izvedbo naslednje funkcije v čakalni vrsti funkcij
Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni