Bonjour a tous Smiley smile

J'ai utilisé votre tuto pour créer un menu déroulant vertical.

Lorsque l'on clique sur un titre, le menu apparait. Pour le faire disparaître, la seul solution est de cliquer sur un autre titre. J'aimerai qu'il soit possible de faire dispaître ce menu en re-clicant sur ce même titre.

Je suppose que tout se joue dans le JS.

Voici le code JS que j'utilise (identique au tuto)


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';
	}
	
}


et voici le code que j'ai testé mais qui ne marche pas Smiley langue
(suis vraiment pas très fort niveau JS ^^)


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) {
		if (d.style.display='block') {
			d.style.display='none';
		} else {
			d.style.display='block';
		}
	}
	
}


Merci de votrr aide Smiley smile
Bonjour ...

Si tu veux faire disparaître le sous-menu lors d'un second clic, il faut d'abord que tu détectes si l'utilisateur a déjà ouvert le sous-menu (= premier clic).
En d'autre terme, tu dois mettre en place une boucle qui te permette de savoir s'il s'agit de la 1ère fois ou de la 2nde fois que l'on clique sur l'onglet.
En fonction de cela, soit tu ouvres l'onglet, soit tu le refermes ...

Bon code Smiley cligne