11550 sujets

JavaScript, DOM et API Web HTML5

Bonjour ne connaissant pratiquement rien du javascript,
j'aimerais savoir comment rassembler si possible les 2 fonction suivante en une seule.


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

function smontre(id) {
var d = document.getElementById(id);
	for (var i = 1; i<=10; i++) {
		if (document.getElementById('ssmenu'+i)) {document.getElementById('ssmenu'+i).style.display='none';}
	}
if (d) {d.style.display='block';}
}
Salut,

A priori, il te suffirait de passer un paramètre supplémentaire indiquant s'il s'agit d'un menu ou d'un sous-menu.
Ca devrait donner un truc du genre (pas testé) :

function montre(id, typeItem) {
var d = document.getElementById(id);
for (var i = 1; i<=10; i++) {
if (document.getElementById(typeItem+i)) {document.getElementById(typeItem+i).style.display='none';}
}
if (d) {d.style.display='block';}
}

avec typeItem valant au choix smenu ou ssmenu à l'appel.