Lien affichant texte et supprime le précédent s'il y a(Javascript)

Résolu
vincenzodelarossa Messages postés 11 Date d'inscription samedi 30 avril 2005 Statut Membre Dernière intervention 20 avril 2010 - 19 avril 2010 à 00:52
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 - 19 avril 2010 à 17:12
Bonjour à tous.

Petit soucis dans mes conditions

mon script est:
<script type="text/javascript">
function Swap( div_){
var Obj = document.getElementById( div_);
if( Obj)
{
if( Obj.style.display=="") Obj.style.display="none";
else Obj.style.display="";
}
}
</script>

et dans le body:




<li>[# 1]</li>
<li>[# 2]</li>
<li>[# 3]</li>
<li>[# 4]</li>






Texte 1





Texte 2




Texte 3




Texte 4


-----------------------------------
cependant il faut que je clique dessus a nouveau pr le faire disparaitre.
Je souhaiterai qu'en cliquant sur l'un (par exemple 3) il efface automatiquement le texte precedent pr afficher le 3; idem pr le 1, le 2 et le 4.

4 réponses

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
19 avril 2010 à 09:26
Bonjour,
il existe aussi la solution en donnant des ID qui se suivent, comme dans ton cas, et de faire une boucle ce qui supprime la gestion du tableau.
cela peut donner un truc du style
//------------------
function Swap( div_){
  var i = 1;
  var Obj;
  //-- Masque tout le DIV_x
  while( Obj = document.getElementById( 'DIV_' +i)){
    if( Obj){
      Obj.style.display = "none";
    }
    i++;
  }
  //-- Affiche la demande
  Obj = document.getElementById( div_);
  if( Obj)
    Obj.style.display = "block";
}


Une autre solution et de gérer un Div_Encours...

;O)
3
cs_leris Messages postés 419 Date d'inscription dimanche 31 août 2003 Statut Membre Dernière intervention 19 avril 2010 3
19 avril 2010 à 03:24
Salut,


il suffit de modifier le script comme ceci:

<script type="text/javascript">
var tab = new Array('div_1','div_2','div_3','div_4');
function Swap( div_){
for(var i=0; i<tab.length; ++i)
document.getElementById(tab[i]).style.display = 'none';
document.getElementById(div_).style.display = 'inline';
}
</script>


++

L.


pas glop !
0
vincenzodelarossa Messages postés 11 Date d'inscription samedi 30 avril 2005 Statut Membre Dernière intervention 20 avril 2010
19 avril 2010 à 11:09
Merci les gars, c'est exactement ca, jvais prendre la sol dePetole team,
la boucle est toute bete, je n'y avais pas pensé, merci pr le coup de main !
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
19 avril 2010 à 17:12
Bonjour,
- N'oubliez pas qu'un forum ne sert pas qu'à poser sa question!
- Il sert aussi, aux autres, à trouver une réponse satisfaisante à une question.
- Merci de mettre en réponse acceptée, la réponse qui vous a aidé ou même votre propre solution.
- C'est aussi cela l'esprit d'un forum...
;O)
0
Rejoignez-nous