La méthode de cet article est minimaliste, il s’agit de créer un menu contextuel composé d’icônes qui se déplie lorsque la souris passe devant.

Le web regorge de modules jQuery compliqués et de méthodes alambiquées pour créer des menus contextuels suite à un clic ou au passage de la souris. L’objet de cet article est autrement plus simple : je veux simplement afficher un petit menu contextuel tout simple, et sans alourdir mon projet avec des dépendances.

Sommaire

Mise en place de la structure HTML

La structure HTML de mon document est toute simple : un contenu caché va apparaître comme par magie suite à un événement javascript. On remarque les classes fa qui sont appel aux visuels de Font Awesome mais on aurait aussi pu utiliser les icones iQuery UI ou encore des images. L’élément qui va me permettre de déplier tout le menu est une flèche qui pointe vers le bas.

J’ai fait le choix de coller mon menu déroulant à du texte pour montrer la bonne intégration avec le contexte.

La feuille de style

Voici la feuille de style correspondante.

La mise en place avec Javascript

Pour finir, ce code javascript peut figurer dans un fichier à part ou bien dans le corps de la page html.

Le résultat en images

Lorsque le menu n’est pas déplié, voici ce qui est affiché.

Menu déroulant au passage de la souris (hover)

Suite au passage de la souris, les différents choix du menu sont proposés.

Menu déroulé au passage de la souris (hover)

Avec un tout petit peu d’imagination, voilà un menu qui propose différents partages vers les réseaux sociaux.

Menu contextuel de partage vers les réseaux sociaux

Pour voir tout ceci mis en œuvre sur une page minimale, vous pouvez regarder le code de cette page d’exemple. Cette mise en œuvre fonctionne sans surprise sur un ordinateur, mais elle n’est pas très pratique sur un smartphone ou tablette car on doit cliquer ailleurs pour refermer le menu déroulé.