Passer une variable tout en ouvrant un div

Bonjour,

Cela fait 2 - 3 jours que je me bat pour essayer de passer une variable sur un lien et en même temps ouvrir un div.

Je m'explique :
Déjà je suis vraiment pas doué en JavaScript,
j'ai imaginons 3 liens qui m'ouvre le même div, mais j'aimerai changer le contenu du div selon sur le lien que l'on clique...

mon html:
<a href="javascript:montre(\'div1\');cache(\'div2\');" class="infobulle">lien1</a><br>
<a href="javascript:montre(\'div1\');cache(\'div2\');" class="infobulle">lien2</a><br>
<a href="javascript:montre(\'div1\');cache(\'div2\');" class="infobulle">lien3</a><br>


mon javascript:
<script language="javascript">

  function montre(id) {
	  if (document.getElementById) {
		  document.getElementById(id).style.visibility="visible";

		}   }

  function cache(id) {
	  if (document.getElementById) {
		  document.getElementById(id).style.visibility="hidden";
		} } 
		
</script>


Je l'ai remis a nu parce qu'avec tous les test que j'ai fait... J'ai fini par mis perdre....
Voila mon problème

3 réponses

  1. Pas tout a fait,
    le but finale serait d'afficher toujours le div1 mais je fasse un include différent selon le lien.
    1. Bonjour,

      Je ne suis pas sûre que mon exemple te convienne, je pense que tu veux que le div 1 se ferme si tu ouvres le div 2 ?

      <script type="text/javascript">
      function cacher(Id)
      {
      var targetElement;
      targetElement = document.getElementById(Id) ;
      if (targetElement.style.display == "none")
      {
      targetElement.style.display = "" ;
      } else {
      targetElement.style.display = "none" ;
      }
      }
      </script>

      <a href="javascript:cacher('div1');" class="infobulle">lien1</a><br>
      <a href="javascript:cacher('div2');" class="infobulle">lien2</a><br>
      <a href="javascript:cacher('div3');" class="infobulle">lien3</a><br>

      <div id="div1" style="display:none;">contenu 1</div>
      <div id="div2" style="display:none;">contenu 2</div>
      <div id="div3" style="display:none;">contenu 3</div>