> Tous les forumsForum des Webmasters

 affichage de menu -ordre inversé-
Statut du sujet : NON RESOLU Imprimer
 hicham
  Posté le 17/01/2007 @ 02:53  
 Petit astucien

108 Messages
Bonjour,

J’ai besoin d’un menu dont l’entête est un bouton de façon que le clic sur ce bouton, le menu s’ouvre (faisant apparaître alors les différentes rubriques du menu).

Sans bien connaître bien le java, j’ai pu adapter un menu avec de multiples sous menu à la forme que je voulais.

Toute fois, il y a un problème : à l’ouverture de la page web, le menu s’affiche ouvert (entête et rubriques visibles).

Y a t-il quelqu’un qui pourrait rectifier encore ce script pour qu’à l’ouverture de la page web le menu soit fermé (seul le bouton de l’entête soit affiché) et qu’il s’ouvre après un clic sur le bouton de l’entête.

Je crois comprendre qu’il suffit d’insérer une fonction cache ou insérer le mot hidden

Ci après le code, tout en vous remerciant d’avance

<html>
<head>
<title>Menu glissant avec sous-menus</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Keywords"
content="Conception,Javascript,DHTML,CSS,texte,changement,style,display,menu,sous-menu,glissant">
<link rel="STYLESHEET" type="text/css" href="#">
<link rel="STYLESHEET" type="text/css" media="all" href="#">
<script language="javascript">


var sousmenu=new Array()

/* fonctions pour retirer ou montrer un bloc */

function retire() { //le nombre d'arguments est variable
var id=null;
var element_style=null
for(i=0;i<arguments.length;i++) {
element_style=null;
id=arguments[i];
if (document.getElementById) {
element_style=document.getElementById(id).style;
} else if (document.all) {
element_style=document.all[id].style;
}

if(element_style) element_style.display="none"
}
}

function montre(id) {
var element_style=null
if (document.getElementById) {
element_style=document.getElementById(id).style;
} else if (document.all) {
element_style=document.all[id].style;
}

if(element_style) element_style.display="block"
}


/* Affichage du sous-menu 'id' */

function affiche(id) {


/* Si on a reclique la derniere entree, on replie le sous-menu correspondant*/
if (id == sousmenu[sousmenu.length-1]) {
retire(id); sousmenu.length --;
return;
}

/* on retire les differents sous-menus qui ne sont pas dans la nouvelle
arborescence demandee. Si on a ouvert menu1 :
- l'ouverture de menu2 doit entrainer la fermeture de menu1
- l'ouverture de menu1.1 ne doit pas entrainer cette fermeture
Pour cela, on va enlever les deux derniers caracteres de 'id' et
comparer aux elements stockes dans le tableau des elements ouverts sousmenu[],
en retirant un par un tous les derniers blocs ouverts, jusqu'a ce qu'on
ait la meme chose ou qu'il ne reste plus rien.*/

var id1=id.substring(0,id.length-2);
while (sousmenu.length != 0 && id1 != sousmenu[sousmenu.length-1]) {
retire(sousmenu[sousmenu.length-1]); sousmenu.length -- ;
}


/* On ouvre le bloc demande, sauf si id est vide */
if (id) { montre(id); sousmenu[sousmenu.length]=id }


}

</script>

</head>

<body bgcolor="#faf5d7" text="##001144" link="#330055" vlink="#000000" alink="#FF0000">
<div style="width:95%">
<div style="width:108px; border:1px solid black; float:left; padding:1px;
margin-right:8px;" id="menu_glissant">
<div> <a href="#" class="item" onClick="affiche('menu1'); return false"><img src="image_menu.jpg" width="107" height="22">
</a>
<div id="menu1" > <a href="#" class="item" onClick="affiche('menu1.1'); return false"><i>Article 1</i></a> <i><br>
<a href="#" class="item" onClick="affiche('menu1.2'); return false">Article 2</a> <br>
<a href="#" class="lien">Article 3</a></i> </div>
</div>
</div>
</div>
</body>
</html>

 Afficher le profil de hichamEnvoyer un message privé à hicham
 
 
Publicité
 hicham  Posté le 17/01/2007 à 02:59  
Petit astucien

108 Messages

rebonjour

voila l'mage du menu

f

Afficher le profil de hichamEnvoyer un message privé à hicham
 Revenir en haut de la page
 Malcolm  Posté le 17/01/2007 à 09:21  
  Astucien


7271 Messages

il manque le code Java ... à moins que tu ne parles de "javascript", ce qui n'est pas du tout le même chose.

dur de relire un code non commenté et non indenté

Afficher le profil de Malcolm Voir la configuration de MalcolmEnvoyer un message privé à Malcolm
  Revenir en haut de la page
Haut de la page 
Inscrivez-vous !
- Posez vos questions

- Résolvez vos problèmes

- Aidez les autres

- Participez et créez vos discussions

- Dialoguez en privé avec d'autres membres

- Suivez vos sujets préférés

- Affichez les signatures des membres

TOUT EST GRATUIT !

Je crée mon compte



Vous avez besoin d'aide ?
Des centaines d'experts sont à votre disposition sur les forums PC Astuces pour vous aider gratuitement, 24h/24, 7j/7.

Les derniers sujets résolus !
 

 > Tous les forumsForum des Webmasters

 
Forum PC Astuces© 1997-2008 WebastucesAller en haut de la page