[jQuery] lehet, valahogy a css függvényt késleltetni?
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(:
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
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.
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(:
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(:
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
én figyelni, csak nem érteni...
lehet ha linkelnéd az oldalt érthetőbb lenne.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!