11484 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous
Petit problème:
J'ai une page avec un menu et un bouton hamburger pour cacher/montrer l'ensemble du menu. Si la page est large, on voit le menu et pas le bouton, si elle est étroite on ne voit que le bouton, il faut cliquer dessus pour afficher le menu.

button.hamburger {display:none;}
@media screen and (max-width:705px) {
button.hamburger {display:block;}

Ma question: en JavaScript, je voudrais pouvoir tester si le bouton est visible on non sans faire des calculs sue la taille de l'écran.
Comment faire?
Modérateur
Bonjour,

Je pense à deux méthodes :
- avec getComputedStyle https://developer.mozilla.org/fr/docs/Web/API/Window/getComputedStyle ensuite, il faut recupérer la valeur de display et la tester

Ou avec matchmedia https://developer.mozilla.org/fr/docs/Web/API/Window/matchMedia pour ne tester que la taille de l'écran. (ce que tu ne souhaites pas , mais peut servir de panier pour d'autre trucs ailleurs)

cdt
Modifié par gcyrillus (24 Mar 2020 - 13:47)
Meilleure solution
Merci beaucoup
J’avais le souvenir qu’il existait une fonction de ce genre, mais je n’arrivais pas à la retrouver.
Comme tu l’as compris, je préfère ne pas me fier à la taille de l’écran car dans 6 mois si je veux changer la taille limite j’ai de bonnes chances d’oublier de faire deux modifications