Simplifier une fonction js

WRInaute impliqué
Bonjour,

J'aimerais savoir si c'est possible de simplifier cette petite fonction javascript :

Code:
function visibleform2(texte)
{
if (texte == 0){

document.getElementById("type_sell1").style.display = "";
document.getElementById("type_sell2").style.display = "none";
document.getElementById("type_sell3").style.display = "none";

}else if (texte == 1){

document.getElementById("type_sell2").style.display = "";
document.getElementById("type_sell1").style.display = "none";
document.getElementById("type_sell3").style.display = "none";

}else{

document.getElementById("type_sell3").style.display = "";
document.getElementById("type_sell1").style.display = "none";
document.getElementById("type_sell2").style.display = "none";

}
}

Merci à ceux qui pourront m'aider
 
WRInaute accro
Ca doit pouvoir se faire :

- en utilisant une structure de type switch plutôt qu'un if else if else
- en s'appuyant sur un framework JS comme jQuery ou prototype pour les changements d'états des éléments (le toggle de jquery notamment).
 
WRInaute passionné
je suis pas spécialiste de JS mais il doit y avoir une notation équivalente a celle en PHP :
Code:
function visibleform2(texte)
{
document.getElementById("type_sell1").style.display = (texte == 0) ? "" : "none";
document.getElementById("type_sell2").style.display =  (texte == 1) ? "" : "none";
document.getElementById("type_sell3").style.display =  ((texte != 0) && (texte != 1)) ? "" : "none";
}
 
WRInaute impliqué
Peut-être ça :
Code:
function visibleform2(texte) {
	document.getElementById("type_sell1").style.display = "none";
	document.getElementById("type_sell2").style.display = "none";
	document.getElementById("type_sell3").style.display = "none";

	texte++;
	if(texte>3) {
		texte = 3;
	}
	
	document.getElementById("type_sell"+texte).style.display = "";
}
 
Discussions similaires
Haut