- Ne felejtsd el a páncélt lemeríteni!
- Samsung Galaxy S21 Ultra - vákuumcsomagolás
- Google Pixel topik
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- Samsung Galaxy S23 Ultra - non plus ultra
- Honor Magic V5 - méret a kamera mögött
- Samsung Galaxy Watch8 - Classic - Ultra 2025
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Motorola Moto G72 - a titkos favorit
-
Mobilarena
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
K1nG HuNp
őstag
Még kicsit a DOM-nál maradva: egész sokat foglalkozok animációkkal és kellene egy sajat framework, mert hogy netem nem talaltam ami megkönnyíti a dolgom.
Az animacioim amiket hasznalok mindig a CSS-ben vannak, megirom a @keyframest aztan egy classt ami tartalmazza az adott animaciot idovel stb.
Pelda:.enter {
animation: enter 10s ease;
}
@keyframes enter {
0% {
transform: scale(.1);
}
100% {
transform: scale(1);
}
}Ezt a classt csak hozzacsapom ahhoz a dom elementhez amit animalni szeretnek es kesz.
Erre irtam egy nagyon egyszeru fuggvenyt:function classAnimator(dom,className) {
dom.classList.add(className);
dom.addEventListener("animationend", clearIt);
function clearIt(){
dom.classList.remove(className);
dom.removeEventListener("animationend", clearIt);
}
}Amit igy hivok meg:
const button = document.getElementById("testButton");
const box = document.getElementById("box");
button.addEventListener("click", ()=>{classAnimator(box, "enter")})Köv lépésben azt szeretném megcsinálni, hogy a
button
-ról leveszem aclick
event listenert, tehat amig tart az animacio ne erdekelje, hogy nyomkodjak.
De elakadtam.Van egy csunya megoldas amiben egy glob valtozoban kellene tarlonom, hogy "clicked"-e a
button
es ha igen akkor instant returnol aclassAnimator
. De ja ez csúnya.Próbáltam még klónozni az event.target-et ami ugye a
button
jelen esetben, ez patentül működött is mert leszedte az eventListenert (bar az osszes gyerekerol leszedne de most ez még nem zavar), de utána nem tudtam értelmesen visszatenni rá mert valami para volt a masodik lefutastol a "parentNode"-valvar clone = event.target.cloneNode(true);
event.target.parentNode.replaceChild(clone, event.target);Ti hogyan oldanátok meg a problémát?
Tehat az a vegso cel, hogy egy gomb, kep, barmi eventlistenerbe belerakom a fuggvenyem, megadom neki mit animaljon, megcsinalja az animaciot, utana leszedi az animacio class-t, es az egesz kozben blokkolja az ujabb eventeket a gomb/kep/barmi -rol.
Új hozzászólás Aktív témák
- Logitech G923 Racing Wheel and Pedals Xbox One/PC Kormány És Pedálsor
- eladó 4db 2TB NASware WD red (WD20EFAX)
- Xiaomi Redmi Note 13 Pro+ 5G 512GB 12GB RAM - 2027. FRBRUÁRIG GARANCIÁS / akár beszámítással is
- ÚJ Lenovo LOQ 15ARP9 - 15.6" FullHD IPS 144Hz - Ryzen 7 7435HS - 24GB - 512GB - RTX 4050 - 2 év gari
- LG OLED42C44LA 2 Év Gyári Garancia
- Bomba ár! HP EliteBook 830 G5 - i5-8G I 8GB I 256GB SSD I 13,3" FHD I HDMI I Cam I W11 I Gari!
- Satechi 200w USB-C 6-port PD GAN - UK / Számla / Garancia /
- Azonnali készpénzes AMD CPU AMD VGA számítógép felvásárlás személyesen / postával korrekt áron
- Dell USB-C, Thunderbolt 3, TB3, TB4 dokkolók (K20A) WD19TB/ WD19TBS/ WD22TB4, (K16A) TB16/ TB18DC
- LG 48C2 - 48" OLED EVO - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - A9 Gen5 CPU
Állásajánlatok
Cég: FOTC
Város: Budapest