Simplifier une fonction js


sff
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 336
Inscription: 2 Fév 2005

Simplifier une fonction js

Message le Dim Fév 28, 2010 17:03

Bonjour,

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

Code: Tout sélectionner
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


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8579
Inscription: 23 Nov 2005

Re: Simplifier une fonction js

Message le Dim Fév 28, 2010 18:44

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


forty
WRInaute passionné
WRInaute passionné
 
Messages: 1701
Inscription: 30 Oct 2008

Re: Simplifier une fonction js

Message le Dim Fév 28, 2010 19:10

je suis pas spécialiste de JS mais il doit y avoir une notation équivalente a celle en PHP :
Code: Tout sélectionner
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";
}


seebz
WRInaute impliqué
WRInaute impliqué
 
Messages: 808
Inscription: 15 Avr 2007

Re: Simplifier une fonction js

Message le Dim Fév 28, 2010 19:29

Peut-être ça :
Code: Tout sélectionner
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 = "";
}


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités