11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour

Dans le script de alsacreations pour un menu en accordéon,

<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>


Est t'il possible d'attribuer des "class" plutôt que des "id" ?
ce afin de démultiplier à l'infini les <dd>
actuellement ceux ci ont un <dd id="smenu2">
et je souhaiterais faire comme ceci <dd class="menu">

De cette façon , celà m'éviterais de rajouter des #smenu dans la feuille de style à chaque fois qu'un sous menu se crée.

voici le lien du menu en question
MENU

Merci

@+
Modérateur
Hello,

Pour ton menu, il n'est pas forcémment nécessaire d'ajouter une classe en fait... Le mieux, c'est de ne rien mettre du tout... Smiley ravi

Tu trouveras sur cette page une version plus à jour.

N'hésite pas à récupérer l'ensemble (fichiers xhtml/css/js) ; il y a des choses nécessaires dans le code xhtml (revu), le css (deux classes : Montre et Cache) et le js (revu).

Dans cet exemple, la classe css ne sert qu'à laisser un menu ouvert par défaut au lancement de la page si tu en as besoin. Dans le cas inverse, ne mets rien et le menu sera fermé dès l'ouverture. Smiley cligne
Bonsoir

Merci beaucoup Koala64, ton script m'a beaucoup servi.
J'en avais besoin pour tout autre chose qu'un menu.
je l'utilise pour une page en accordéon.

à charge de revanche, merci.

@+ Smiley cligne
Modifié par Michel (24 Jan 2007 - 22:24)