Kezdőoldal » Számítástechnika » Weblapkészítés » Jquery-ben, hogy lehet elérni,...

Jquery-ben, hogy lehet elérni, hogy egy animáció csak egyszer fusson le?

Figyelt kérdés

Írok egy példát:

// HTML rész

<div id="kocka" style="width: 200px; height: 200px; background-color: red;"></div>


//Jquery rész

$("div#kocka").click(function(){

$(this).animate({"background-color":"green"}, "fast").animate({"background-color":"yellow"}, "fast");

});



Ugye ez a kód annyit csinál, hogy ha a weboldalon a "kocka" ID-vel rendelkező DIV-re kattintok, akkor lecseréli a háttérszínét a DIV-nek. Először zöld-re, majd sárgára.

Eddig nincs is gond vele.

Viszont, ha többször, egymás után kattintok a DIV-en, még mielőtt végigment volna egyszer is az animáció, akkor miután befejezte az animációt, nekiáll még annyiszor lefuttatni az animációt, ahányszor gyors egymásutánban rákattintottam a DIV-re...

Ezt ki lehet valahogy küszöbölni? Tehát, hogy míg végig nem fut az animáció a DIV-en, addig ne észlelje a kattintásokat? És ezáltal ne fusson le többször az.



2013. nov. 9. 13:34
 1/3 anonim ***** válasza:

létrehozol a fg-n kívül egy változót var szabade=true;

clickre if true csinálja és false-ra állítod, majd ha kész az animáció (végéhez még .done()?) vissza true-ra

2013. nov. 9. 14:06
Hasznos számodra ez a válasz?
 2/3 Drone007 ***** válasza:

Próbáld a clearQueue() metódust, amivel törlöd a meglévő futtatott funkciókat. Valahogy így:



$(this).clearQueue().animate({"background-color":"green"}, "fast").animate({"background-color":"yellow"}, "fast");

2013. nov. 9. 14:41
Hasznos számodra ez a válasz?
 3/3 A kérdező kommentje:

Köszi Drone007! :)

Sikerült megoldani a problémát. :) (Y)

2013. nov. 9. 15:00

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!