javascript - Mogu li privremeno isključiti sve CSS3 prijelaze/animacije dok se element gradi?


Kreirao sam prilično složen meni za web stranicu. Meni se oslanja na golemu količinu animacija koje se temelje na CSS3. Međutim, kada navigiram na drugu stranicu, meni bi se trebao inicijalno izgraditi - i bez svih animacija, ali izvedeno putem JS-a, a ne sa strane servera.

Sada se pitam kako bih mogao privremeno potpuno onemogućiti sve prijelaze/animacije, dok se izbornik ne izgradi.

Razmišljao sam o kreiranju podrazreda koji nadjačava animacije, ali čini se da ne radi, jer se uvijek koristi animacija/prijelaz definirana u osnovnoj klasi?

Odgovor #1

Predložio bih primjenu vaših animacija/prijelaza putem klase koja se dodaje JavaScriptom nakon što je izbornik izgrađen.

Postoji svojstvo animation-play-state koje može pauzirati animacije, ali se to pojavilo (s prefiksom) tek u Safariju 5 i Chromeu 4 (za razliku od Safarija 4 i Chromea 2 za druga animacijska svojstva), i nisam siguran bi li to odgovaralo vašim potrebama.

Odgovor #2

Možete postaviti transition-duration na 0s dok gradite izbornik, a zatim ga nakon toga vratiti na željenu vrijednost.