11548 sujets

JavaScript, DOM et API Web HTML5

Je souhaiterai positionner un menu déroulant réalisé en javascript. Pour cela je l'ai intégré dans une div class dont voici le code

.menu {
left:731px;
top:78x;
position:absolute;
}
.

Le problème s'est que le menu ne se déroule plus. Connaissez-vous une solution
Administrateur
Salut,

En fait, je ne comprends pas pourquoi tu as rajouté un bloc supplémentaire pour positionner le menu Smiley sweatdrop
Pourquoi na pas simplement... positionner le menu ? Smiley cligne Quelle est cette manie de toujours vouloir rajouter des div inutiles partout ?

De plus, avec le peu de code que tu proposes, il est parfaitement impossible de deviner à quoi ressemble le reste du menu Smiley decu
Bonjour, j'ai découvert le menu déroulant vertical sur ce site et j'ai essayé de l'adapter à mon site mais malheuresement ça ne marche pas pour le moment..

Voici le code xhtml de mon menu :
           <div class="element_menu">
             <dl class="menu_deroulant">
			   <h4>Top Frutiz</h4>
			   <dt onclick="javascript:montre('smenu1');"><h5>Palmarès par mois</h5></dt>
			   <dd class="smenu1">
			   <ul>
                   <li><a href="#">Août 2005</a></li>
                   <li><a href="#">Septembre 2005</a></li>
                   <li><a href="#">Totaux 2005</a></li>
               </ul>
			   </dd>
			   <dt onclick="javascript:montre('smenu2');"><h5>Palmarès par jeux</h5></dt>
			   <dd class="smenu2">
               <ul>
                   <li><a href="#">Burning Kiwi</a></li>
                   <li><a href="#">Frutisnake 2</a></li>
				   <li><a href="#">Motion Ball 2</a></li>
				   <li><a href="#">Swapou 2</a></li>
				   <li><a href="#">Kaluga</a></li>
				   <li><a href="#">Frutibandas</a></li>
				   <li><a href="#">Grapiz</a></li>
                   <li><a href="#">Général</a></li>
               </ul>
			   </dd>
			   <dt onclick="javascript:montre('smenu3');"><h5>Archives des classements</h5></dt>
			   <dd class="smenu3">
			   <ul>
                   <li><a href="#">Août 2005</a></li>
                   <li><a href="#">Septembre 2005</a></li>
			   </ul>
			   </dd>
			 </dl>
           </div> 


Mes modifications : les <dl id> sont devenu des <dl class> et pareil pour les <dd> car je prévois d'utiliser plusieur menu déroulant par la suite.

Voici le code javascript :
<script type="text/javascript">
<!--
window.onload=montre;
function montre(id) {
var d = document.getElementById(id);
	for (var i = 1; i<=10; i++) {
		if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
	}
if (d) {d.style.display='block';}
}
//-->
</script>


Là je n'y connais rien donc je sais pas trop quoi faire. Jai quand même essayé en remplacant les "(id)" par des "(class)" mais ça ne change rien.

Et voici mon code CSS :
<!-- 
dl, dt, dd {
margin: 0;
}
.menu_deroulant dt {
cursor: pointer;
}
.menu_deroulant li a, .menu_deroulant dt a {
display: block;
height: 100%;
}
-->


Je l'ai largement diminué car il y avait beaucoup de chose donc je ne pensais pas avoir besoin et je pense avoir laisser le plus important pour que ça fonctionne..
Maintenant à partir de ça quelqu'un pourait-il m'aider?
Pour le moment quand j'ouvre ma page, tous les menus sont déjà ouvert enfait..
Merci d'avance.
kappablanca a écrit :
Bonjour, j'ai découvert le menu déroulant vertical sur ce site et j'ai essayé de l'adapter à mon site mais malheuresement ça ne marche pas pour le moment..

Mes modifications : les <dl id> sont devenu des <dl class> et pareil pour les <dd> car je prévois d'utiliser plusieur menu déroulant par la suite.

Voici le code javascript :
<script type="text/javascript">
<!--
window.onload=montre;
function montre(id) {
var d = document.getElementById(id);
	for (var i = 1; i<=10; i++) {
		if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
	}
if (d) {d.style.display='block';}
}
//-->
</script>


Là je n'y connais rien donc je sais pas trop quoi faire. Jai quand même essayé en remplacant les "(id)" par des "(class)" mais ça ne change rien.


Pour que ça marche, il faudra que tu refasses entièrement le script, car il est fait pour des sous-menus dont l'id est "smenu1" à "smenu10" Smiley lol
et atteindre un élément par sa class n'est pas simple.
Tu souhaites faire un menu expansif, alors j'en ai fait un expérimental mais à refairequi pourra peut-être t'interesser ?
Modifié par chmel (04 Oct 2005 - 00:33)
Et si je change et que je met mes sous menus en id (dans le code et le css) ça devrait marcher alors?
Est ce que je peux mettre un <dl id=""> dans un <div class=""> ou alors un <dd id=""> dans un <dl class="">? Je sais pas si ça pose problème.