Création
d'entreprise
Posez votre question Signaler

Menu déroulant en CSS ou JavaScript ? [Résolu]

rgdu86 228Messages postés 31 mai 2007Date d'inscription 25 septembre 2011Dernière intervention - Dernière réponse le 22 juin 2011 à 18:13
Bonjour à tous,
J'aimerais savoir comment faire pour créer un menu qui s'affiche lors du passage de la souris. Je m'explique plus en détaille. J'ai déjà vu sur certain site que quand on passe sa souris sur un lien, il y a un menu qui s'affiche et disparaît quand on enlève la souris, comme sur ce site :
http://www.defense.gouv.fr/
Est-ce que ça doit être en CSS ou JavaScript ?
Donc si quelqu'un a une petite réponse, je suis preneur.
Par avance, merci.
Cordialement.
R.G.
Lire la suite 

Menu déroulant en CSS ou JavaScript »

10 réponses
Réponse
+7
moins plus
L'idéal est en CSS pour sa rapidité d'exécution, tu as un très bon exemple ici :
http://marcarea.com/tuto/menu01.php

La plupart des menu déroulant sont fait en javascript et tu en as de très simples, comme celui-ci
http://css.alsacreations.com/xmedia/exemples/deroulant/cssmenu4.htm
(voir le code source)

Mais si le javascript est désactivé sur le navigateur du visiteur, le menu en javascript ne fonctionnera pas.

C'est un choix à faire, le javascript offre plus de possibilités visuelles.
Ajouter un commentaire
Réponse
+4
moins plus
Voila vous avez ici le menu déroulant en javascript. J'espere que tout passe bien.


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Menu déroulant en Javascript</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<style>
#niveau_1{
width:170px;
background-color:red;
padding-left:20px;
}
#niveau_2{
width:170px;
background-color:red;
padding-left:20px;
}
#niveau_3{
width:170px;
background-color:red;
padding-left:20px;
}

</style>

</head>

<script>
function sous_menu_ouvre(_sous_menu) {
_sous_menu.style.display='block';
}
function sous_menu_ferme(_sous_menu) {
_sous_menu.style.display='none';
}

</script>

<body>

<p><font color="#0000FF" size="5" face="Vivaldi" ><strong>Menus</strong></font></p>
<ul style="list-style-type:square">
<li onMouseOver="sous_menu_ouvre(document.getElementById('niveau_1_in'));"
onMouseOut="sous_menu_ferme(document.getElementById('niveau_1_in'));" id="niveau_1" style="float:left">
menu 1</li>
<ul id="niveau_1_in" style="display:none">
<li onMouseOver="sous_menu_ouvre(document.getElementById('niveau_11_in'));"
onMouseOut="sous_menu_ferme(document.getElementById('niveau_11_in'));" id="niveau_11">
menu 1.1</li>
<ul id="niveau_11_in" style="display:none">
<li> menu 1.1.1</li>
<li> menu 1.1.2</li>
<li> menu 1.1.3</li>
</ul>
<li onMouseOver="sous_menu_ouvre(document.getElementById('niveau_11_in'));"
onMouseOut="sous_menu_ferme(document.getElementById('niveau_11_in'));" id="niveau_12">
menu 1.2</li>
<ul id="niveau_12_in" style="display:none">
<li> menu 1.2.1</li>
<li> menu 1.2.2</li>
<li> menu 1.2.3</li>
</ul>
</ul>
<li onMouseOver="sous_menu_ouvre(document.getElementById('niveau_2_in'));"
onMouseOut="sous_menu_ferme(document.getElementById('niveau_2_in'));" id="niveau_2"style="float:left">
menu 2</li>
<ul id="niveau_2_in" style="display:none">

<li onMouseOver="sous_menu_ouvre(document.getElementById('niveau_21_in'));"
onMouseOut="sous_menu_ferme(document.getElementById('niveau_21_in'));" id="niveau_21">
menu 2.1</li>
<ul id="niveau_21_in" style="display:none">
<li> menu 2.1.1</li>
<li> menu 2.1.2</li>
<li> menu 2.1.3</li>
</ul>

<li onMouseOver="sous_menu_ouvre(document.getElementById('niveau_22_in'));"
onMouseOut="sous_menu_ferme(document.getElementById('niveau_22_in'));" id="niveau_22">
menu 2.2</li>
<ul id="niveau_22_in" style="display:none">
<li> menu 2.2.1</li>
<li> menu 2.2.2</li>
<li> menu 2.2.3</li>
</ul>

</ul>
<li onMouseOver="sous_menu_ouvre(document.getElementById('niveau_3_in'));"
onMouseOut="sous_menu_ferme(document.getElementById('niveau_3_in'));" id="niveau_3"style="float:left">
menu 3</li>
<ul id="niveau_3_in" style="display:none">
<li> menu 3.1</li>
<li> menu 3.2</li>
<li> menu 3.3</li>
</ul>


</ul>

</body>
</html>
Olivier C - 12 juil. 2010 à 09:38
Yes ! enfin un menu accordéon qui marche ! Adopté ! Merci beaucoup !
so-noob ! - 18 juin 2011 à 00:17
il y a quand même quelques problèmes avec ton code ...
mauricel - 22 juin 2011 à 18:13
j'avou
Ajouter un commentaire
Réponse
+2
moins plus
Merci pour tout Xil, je penses que ça va m'aider, je regarderais cela un petit peu plus tard.

Cordialement.

R.G.
Ajouter un commentaire
Réponse
+0
moins plus
supers exemples, merci ca va me servir à moi aussi. Je m'y met dès ce soir... Je pensais que c'était plus comlpliqué, mais en fait c'est carrément abordable.
Ajouter un commentaire
Réponse
+0
moins plus
salut cela fait maintenant beaucoup de jours que je n'arrive pas à faire un bon menu deroulant en css
j'aimerais bien reçevoir de l'aide merçi
Ajouter un commentaire
Réponse
-4
moins plus
c'est pas possible en css il me semble
math 2000- 19 juin 2009 à 08:20
bien sur que ci c'est possible un menu sans javascript
http://bormat2.free.fr/
Ajouter un commentaire
Ce document intitulé « Menu déroulant en CSS ou JavaScript ? » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?