Se usate le transizioni CSS3 potreste voler rimuovere una classe dopo un certo periodo di tempo per innescare l'effetto visuale. La soluzione è semplice.
Possiamo implementare la seguente funzione di utility:
'use strict';
const removeClassWithDelay = ( element, className, delay ) => {
setTimeout(() => {
element.classList.remove( className );
}, delay);
}
Dato il seguente codice CSS:
#test {
opacity: 0;
transition: opacity 500ms ease-out;
}
#test.visible {
opacity: 1;
}
possiamo utilizzare la funzione in questo modo:
removeClassWithDelay( document.querySelector('#test'), 'visible', 2000 );