Kezdőoldal » Számítástechnika » Weblapkészítés » [jQuery] lehet, valahogy a...

Qaxqaxqax kérdése:

[jQuery] lehet, valahogy a css függvényt késleltetni?

Figyelt kérdés

Nos csináltam egy kis memória játékot, ami fadeOut()/fadeIn(), hide()/show() -al tökéletesen működött, mivel a delay(500) függvénynek köszönhetően várt 0,5 másodpercet mielőtt megjelenítette a kártyalapokat.


Nos én átírtam CSS3 segítségével olyanra, hogy felforgassa a lapokat, ne csak előfadeljenek. Viszont ebben az esetben nem várja ki a második lap felfordítását, egyből visszafordítja őket, mielőtt még a felhasználó megnézhetné, melyik volt a másik lap, mivel a delay függvény nem működik.


pl.:

Itt működik:

$(#valami).delay(500).hide();

Viszont itt már nem:

$(#valami).delay(500).css({'parancs1':'ertek1','parancs2':'ertek2'}); //Mintha a delay ott sem lenne.


Ez az egész nagyon prímán nézne ki, ha valaki tudna nekem mondani egy megoldást a css() függvény által #valamire ráaggatott parancsok késleltetésére.


A kód kicsit hosszú..

A válaszokat előre is köszi(:



#CSS #jQuery #CSS3 #css() #delay()
2013. szept. 16. 16:55
1 2 3
 1/27 anonim ***** válasza:
2013. szept. 16. 17:43
Hasznos számodra ez a válasz?
 2/27 Drone007 ***** válasza:

A delay metódus csak az időzített jquery effekteket képes késleltetni. A Dokumentációban le is írták, hogy nem helyettesíti a javascript saját SetTimeout függvényét.


Javaslom, hogy a SetTimeout-ot használd a css attribútumok váltására. Ágyazd be külső function-be, és azt hívogasd fordításkor.

Tanulság: nem szabad a jquery csapdájába esni. Van amit a natív javascript jobban tud.

2013. szept. 16. 19:32
Hasznos számodra ez a válasz?
 3/27 A kérdező kommentje:
Köszi a válaszokat, nekem is a setTimeout jutott idővel az eszembe(:
2013. szept. 16. 19:39
 4/27 A kérdező kommentje:

Az a vicc hogy így sem működik:/

Leírom hátha valaki visszanéz még.


1., A gond az, hogy mikor kiszedem a következő részt, akkor felfordít minden kártyát és leanimálja, ahogy azt én akarom. Viszont, mivel ez a rész a kártyákat fordítaná vissza, így nem fordulnak vissza az animáció lejártával maguktól.


setTimeout(function(){

$(#AKartyaHatlapja).css({'z-index':'2','-webkit-transform':'rotateY(0deg)'});

$(AKepOldala).css('-wekit-transform','rotateY(180deg)');

},500);


2., Ha így van a kódban, ahogyan az látható a végtelenségig vár és nem fordítja vissza őket, hiába van a setTimeout-ban 0,5 másodperc megadva. (Nemértem miért) Tehát konkrétan ugyan az történik, mint az 1-ben:D


3.,Ha leszedem róla a setTimeout-ot és meghagyom a belsejét, akkor az történik, hogy az első kártyafelfordítását még leanimálja, a másodikét már nem, mivel automatán ráaggatja a css() a parancsait, így a felhasználó nem látja mi van a második lap alatt. Tehát csak az első megy végbe.


Ha tudtok valami megoldást erre, azt megköszönném(:

2013. szept. 16. 20:04
 5/27 anonim ***** válasza:
ott egy hiba (wekit)
2013. szept. 16. 20:14
Hasznos számodra ez a válasz?
 6/27 A kérdező kommentje:

oh azt jól írtam a kódban, csak itt rövidítettem, hogy ne legyen hatalmas a függvény és itt ezek szerint elgépeltem.

Tuti nem ez a hiba(:

2013. szept. 16. 20:16
 7/27 anonim ***** válasza:
esetleg rotate180 helyett 0?
2013. szept. 16. 23:42
Hasznos számodra ez a válasz?
 8/27 anonim ***** válasza:
bocs, elnéztem
2013. szept. 16. 23:44
Hasznos számodra ez a válasz?
 9/27 A kérdező kommentje:
Háth igen ez visszaforgatja, szal jó az(: Szerintem kiírom újra mert így már nem figyeli senkiD: az a sanszom.
2013. szept. 17. 06:20
 10/27 anonim ***** válasza:

én figyelni, csak nem érteni...

lehet ha linkelnéd az oldalt érthetőbb lenne.

2013. szept. 17. 08:22
Hasznos számodra ez a válasz?
1 2 3

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, 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!