AFFICHER OU CACHER UN COMPOSANT AVEC JAVASCRIPT

cs_Kimjoa Messages postés 262 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 19 septembre 2014 - 19 nov. 2008 à 21:21
cs_louisdsm Messages postés 5 Date d'inscription mardi 25 novembre 2008 Statut Membre Dernière intervention 25 mai 2010 - 2 août 2009 à 20:45
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/48489-afficher-ou-cacher-un-composant-avec-javascript

cs_louisdsm Messages postés 5 Date d'inscription mardi 25 novembre 2008 Statut Membre Dernière intervention 25 mai 2010
2 août 2009 à 20:45
Merci génial j'en cherchait un depuis longtemps
niceman23 Messages postés 36 Date d'inscription vendredi 6 janvier 2006 Statut Membre Dernière intervention 27 février 2009
27 févr. 2009 à 20:25
Il a tu moyen qu'il fonctionne sous IE 7 et Firefox merci !!!
@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
22 nov. 2008 à 11:07
il me semble qu'une fonction dans ce genre serait plus simple

function manageVisibility(id,bouton){
if (document.getElementById(obj).style.display = ''){
document.getElementById(obj).style.display = 'none'
document.getElementById(bouton).nodevalue="montrer"
}
else{
document.getElementById(obj).style.display = 'none'
document.getElementById(bouton).nodevalue="cacher"
}
}

et sinon il faut eviter de cree un style dans la page
il vaut mieux utilise des feuilles de style et utilise dans le script getComputedStyle et currentStyle
CodeurleGeek Messages postés 5 Date d'inscription mercredi 19 novembre 2008 Statut Membre Dernière intervention 24 novembre 2008
20 nov. 2008 à 20:32
Merci à vous deux !

Kimjoa : pourrai-tu réexpliquer s'il te plait (je n'ai pas trop compris, dsl).

Encore merci pour votre participation et a bientôt !
cs_petifa Messages postés 215 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 10 mars 2014
20 nov. 2008 à 12:38
dans ton cas il ne serait pas plus judicieux de changer le contenu de la balise A du lien que tu viens de cliquer : c'est à dire changer "Cacher" en "Afficher" ...

# document.getElementById(id).innerHTML = 'Cacher'; // CHANGE "AFFICHER" EN "CACHER"
cs_Kimjoa Messages postés 262 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 19 septembre 2014
19 nov. 2008 à 21:21
salut, y a un beug , tu déclare qu'une seule variable globale (Visible), qui retient l'état de deux objet HTML, tu'aurais dut en faire 2 , voir aucune...
voici comment.

// pour les boutons
Afficher

// pour la fonction

function manageVisibility(id){
var element=document.getElementById(obj);/*on créer une reference de l'element html , car on utilise deux fois getElementById, une fois comme test et une autre pour appliqué le display */
if(element.style.display=='none'){
element.style.display==''
}else{
element.style.display=='none'
}
}

a noter que cette fonction (que j'ai pas testé ) ne marche que si le style par default est appliqué dans la balise, sinon on aurait du passé par une fonction pour recupérer la propriété du css, pour firefox celle si est document.defaultView.getComputedStyle(element, null).getPropertyValue('display'), pour ie ,element.currentStyle[rule], je m'arrette la fait une recherche pour la syntax ect ..
bonne continuation bye
Rejoignez-nous