115 of 119 menu

Metoden queue

Metoden queue gör det möjligt för oss att arbeta med kön av funktioner som är kopplade till ett element. Se även metoden clearQueue, som gör det möjligt för oss att ta bort alla funktioner från kön som inte har körts.

Syntax

Så här visar vi kön av funktioner som körs, som är kopplade till ett element. Du kan skicka ett valfritt parameternamn för kön i form av en sträng (standard är fx - standardkön för effekter):

.queue([könamn]);

Vi kan manipulera kön. Utförs en gång för varje element. För detta kan du skicka en array med funktioner som den andra parametern, vilket kommer att ersätta innehållet i den aktuella kön:

.queue([könamn], ny kö );

Eller så kan du skicka en ny callback-funktion som den andra parametern för att lägga till i kön. Denna funktion får i sin tur en annan funktion som parameter. Detta gör det möjligt att automatiskt ta bort nästa element från kön och flytta kön framåt:

.queue([könamn], callback-funktion(next) { next(); });

Varje element kan ha en eller flera köer. I många applikationer används bara en (fx). Köer gör det möjligt att utföra sekvenser av åtgärder på ett element asynkront, utan att avbryta programkörningen. Anropet queue med en callback-funktion gör det möjligt för oss att placera en ny funktion i slutet av kön. Callback-funktionen utförs en gång för varje element i uppsättningen. När du lägger till en funktion med queue måste vi se till att metoden dequeue sedan anropas, för att nästa funktion i kedjan ska börja fungera.

Exempel

Låt oss lägga till en anpassad funktion. Först, efter att ha klickat på #animate, kommer vi att visa en röd kvadrat, som kommer att röra sig åt höger under 2s, sedan med hjälp av queue lägger vi till en anpassad funktion som kommer att ändra färg på kvadraten till grön, genom att lägga till klassen newcolor. Som du ser, anropas sedan dequeue här för att ta bort funktionen från kön. Sedan kommer vår kvadrat att röra sig åt vänster i en halv sekund och ändras tillbaka till röd - med hjälp av den andra anpassade funktionen tar vi bort klassen newcolor. När animationen är klar döljer vi vår 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(); });

Exempel

Låt oss lägga till en kö i form av en array för att ta bort den föregående. När du klickar på knappen #start kommer vi att se animationen från föregående exempel. När du klickar på knappen #stop kommer vi att stoppa animationen genom att lägga till en tom array. När du klickar igen på #start kommer animationen att börja om:

<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(); });

Se även

  • metoden animate,
    som animerar elementens egenskaper
  • metoden clearQueue,
    som gör det möjligt att ta bort alla oavslutade element från kön av funktioner
  • metoden dequeue,
    som gör det möjligt att köra nästa funktion i kön av funktioner
Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa