Vanilla = sans bibliothèque jQuery, juste avec du javascript moderne.
Pour déclencher un événement (click, scroll, resize, whatever!), une petite fonction cross-browser.
A appeler ainsi :triggerEvent(elt, 'mousedown');
Attendre la fin du resize avant de déclencher l'événement.
Attendre la fin du scroll avant de déclencher l'événement.
IE ne comprend pas la fonction forEach pour les listes d'éléments retournées avec document.querySelectorAll('.CLASSE').
Alors, il faut rajouter ce petit bout de code :
Et après, tout va bien, on peut gentiment utiliser forEach comme ceci :
Les objets de type HTMLCollection sont des "array-like" mais la fonction forEach n'existe pas.
Alors, il faut rajouter ce petit bout de code :
Et après, tout va bien, on peut gentiment utiliser forEach comme ceci :
Pour un smoothScroll animé lorsqu'on clique sur une ancre.
Par défaut, la vitesse de scroll est de 500ms mais on peut la modifier en ajoutant un data-speed à la balise <a>.
Scroller jusqu'à l'ancre #ancre
Je suis l'ancre #ancre
Quelques lignes de code cross-browser bien pratiques.
Récupération objets nécessaires (window, body, document, documentElement) :
Largeur et hauteur fenêtre :
Largeur et hauteur document :