11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous :

J'ai un code qui me permet d'afficher de cacher un div

 function sssShowDiv(id){

		  if(document.getElementById(id).className=='hide'){
		  document.getElementById(id).className='';
		  $('#'+id).show('slow')
		  }
		  else
		  
		  {
		  document.getElementById(id).className='hide';
		  $('#'+id).hide('slow')
		  }
		  
		  }
		  

function sssHideDiv(id){
			   if(document.getElementById(id).className!='hide'){
			   document.getElementById(id).className='hide';
		  $('#'+id).hide('slow')
			   }
			   
		   }


j'ai plusieur lien du style :

foot------hand------basket et lorsqu'on click dessus le div apparait.

Mon souhait serai lors d'un clik fermer le div précedent et non le faire afficher en dessous.

J'ai trouver une solution barbare qui consiste a :

onclick="sssHideDiv('hand'); sssHideDiv('basket'); sssShowDiv('foot');" >


Je pense qu'il doit exister quelque chose de mieux...

Merci d'avance
j'aimerai avoir une fonction qui permet de me cacher tous mes divs d'un coup.

Ca m'éviterai de faire en debut de chaque lien Hidediv(id) afin de cacher tous les div afficher précedement
Salut,

'$('#'+id).show('slow')' >> tu utilises prototype ?

Si oui (et en considérant que tes divs affichées ont pour classe 'show'):


$$('show').each(function(div){
  div.className = 'hide';
  div.hide();
});

Modifié par Kadheus (21 Mar 2008 - 10:45)