115 of 119 menu

Metodas queue

Metodas queue leidžia mums dirbti su eile funkcijų, pririštų prie elemento. Taip pat žiūrėkite metodą clearQueue, kuris leidžia mums pašalinti iš eilės visas funkcijas, kurios nebuvo paleistos.

Sintaksė

Taip mes rodome vykdomų funkcijų eilę, pririštą prie elemento. Galima perduoti neprivalomą parametrą - eilės pavadinimą eilutės pavidalu (pagal nutylėjimą fx - standartinė efektų eilė):

.queue([eilės pavadinimas]);

Mes galime manipuliuoti eile. Vykdoma vieną kartą kiekvienam elementui. Tam galima perduoti antruoju parametru funkcijų masyvą, kuris pakeis esamos eilės turinį:

.queue([eilės pavadinimas], nauja eilė );

Arba antruoju parametru galima perduoti naują callback funkciją pridėti į eilę. Ši funkcija savo ruožtu gauna kitą funkciją kaip parametrą. Tai leidžia automatiškai pašalinti iš eilės sekantį elementą ir judinti eilę:

.queue([eilės pavadinimas], callback funkcija(next) { next(); });

Kiekvienas elementas gali turėti vieną ar kelias eilės. Daugelyje aplikacijų naudojama tik viena (fx). Eilės leidžia vykdyti veiksmų seką su elementu asinchroniškai, nepertraukiant programos vykdymo. Iškvietimas queue su callback funkcija leidžia mums įdėti naują funkciją į eilės galą. Callback funkcija vykdoma vieną kartą kiekvienam elementų rinkinyje. Pridedant funkciją naudojant queue, mes turime įsitikinti, kad vėliau bus iškviestas metodas dequeue, kad sekanti funkcija grandinėje pradėtų veikti.

Pavyzdys

Pridėkime pasirinktinę funkciją. Pirma, po paspaudimo ant #animate, mes parodysime raudoną kvadratą, kuris judės į dešinę per 2s, tada naudodami queue pridėsime pasirinktinę funkciją, kuri perdažys kvadratą į žalią, pridėdama klasę newcolor. Kaip matote, tada čia iškviečiamas dequeue, kad pašalintų funkciją iš eilės. Tada mūsų kvadratas judės į kairę pusę sekundės ir bus perdažytas atgal į raudoną - naudodami antrąją pasirinktinę funkciją mes pašaliname klasę newcolor. Pasibaigus animacijai mes suskleidžiame savo kvadratą:

<button id="animate">pradėti</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(); });

Pavyzdys

Pridėkime eilę masyvo pavidalu, kad pašalintume ankstesnę. Paspaudus mygtuką #start mes matysime animaciją iš ankstesnio pavyzdžio. Paspaudus mygtuką #stop mes sustabdysime animaciją pridėdami tuščią masyvą. Vėl paspaudus #start animacija prasidės iš naujo:

<button id="start">pradėti</button> <button id="stop">sustabdyti</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(); });

Taip pat žiūrėkite

  • metodas animate,
    kuris animuoja elementų savybes
  • metodas clearQueue,
    kuris leidžia pašalinti visus nevykdytus elementus iš funkcijų eilės
  • metodas dequeue,
    kuris leidžia vykdyti sekantį funkciją funkcijų eilėje
Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti