Création d'une fonction showHide()

Eléphant du PHP | 428 Messages

10 févr. 2010, 19:51

Bonjour,

J'aimerai réaliser une fonction en javascript me permettant de cacher ou afficher une DIV par le biais du CSS.
J'ai essayé de la réaliser mais je rencontre des difficultés de mise en oeuvre.

Voici le code de la fonction :

Code : Tout sélectionner

function showHide (module, value) { if (module == "docs" && value == "hide") { document.getElementById("documentDetailContainer").style.display = "none"; } else if (module == "docs" && value == "show") { document.getElementById("documentDetailContainer").style.display = "block"; } else if (module == "options" && value == "hide") { document.getElementById("optionsDetailContainer").style.display = "none"; } else if (module == "options" && value == "show") { document.getElementById("optionsDetailContainer").style.display = "block"; } else if (module == "video" && value == "hide") { document.getElementById("videoDetailContainer").style.display = "none"; } else if (module == "video" && value == "show") { document.getElementById("videoDetailContainer").style.display = "block"; } else if (module == "photo" && value == "hide") { document.getElementById("galleryDetailContainer").style.display = "none"; } else if (module == "photo" && value == "show") { document.getElementById("galleryDetailContainer").style.display = "block"; } }
Mon gros soucis (étant donné que je fais jamais de javascript) est de savoir si :

1. Ma fonction est-elle correctement codée.
2. Comment dois-je appeler la fonction sachant que les variables "module" et "value" sont du "texte"

Merci pour votre aide,
raph

Eléphant du PHP | 428 Messages

10 févr. 2010, 21:19

C'est bon, j'ai trouver.
Mon code javascript fonctionne et j'ai réussi à l'appeler.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

11 févr. 2010, 14:39

Merci de d'être repassé pour clore ton sujet mais avec une solution (bout de code) on apprécie encore plus :)

sinon
function showHide (id) 
{
      //recuperation de l'etat actuel de l'element et affectation de son opposé
      var showHide = (document.getElementById(id).style.display == 'none' ) ? 'block' : 'none';
      //nouvelle valeur pour l'element id
      document.getElementById(id).style.display = showHide 
}

//appel
showHide("documentDetailContainer");
showHide("optionsDetailContainer");

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute