Masquer/ afficher dynamiquement une div (ou autre element) en Js [Résolu]

rhan_659 85 Messages postés lundi 1 novembre 2004Date d'inscription 30 juin 2011 Dernière intervention - 25 juil. 2008 à 08:23 - Dernière réponse : cs_kopax 15 Messages postés dimanche 16 mai 2004Date d'inscription 2 mai 2012 Dernière intervention
- 12 avril 2010 à 12:44
bonjour

je dois être une buse finis, parce que je n'arrive pas a masquer/afficher dynamiquement une div en JS.

soit je la rend visible et je peut la masquer mais impossible de la rendre de nouveau visible

soit elle est masqué et là je n'arrive a rien. j'ai cherché un peut partout sur le net mais je vois pas ou est mon erreur !

exemple HTML

code JS

document.getElementById("iddiv").style.display = 'show';

ou

document.getElementById("iddiv").visibility = 'show'

rien n'y fait

merci de votre aide
Afficher la suite 

Votre réponse

16 réponses

Meilleure réponse
nicomilville 3498 Messages postés lundi 16 juillet 2007Date d'inscription 28 février 2014 Dernière intervention - 25 juil. 2008 à 10:55
3
Merci
avec en JS : document.getElementById('iddiv').style.visibility = "visible"; //pour rendre visible

soit un

avec en JS : document.getElementById('iddiv').style.display = "block"; //pour afficher

a++

Si la réponse vous convient, pensez : <gras>Réponse acceptée
!

Merci nicomilville 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de nicomilville
rhan_659 85 Messages postés lundi 1 novembre 2004Date d'inscription 30 juin 2011 Dernière intervention - 25 juil. 2008 à 09:01
0
Merci
en remplacant

document.getElementById("iddiv").style.display = 'show';

par

document.getElementById("iddiv").style.display = '';

ça marche sous ff mais pas ie
Commenter la réponse de rhan_659
nicomilville 3498 Messages postés lundi 16 juillet 2007Date d'inscription 28 février 2014 Dernière intervention - 25 juil. 2008 à 09:50
0
Merci
Salut,

document.getElementById("iddiv").style.display = ' block '; //affiche

Ou

document.getElementById("iddiv").<gras>style.visibility = 'visible'; //affiche

a++

Si la réponse vous convient, pensez : <gras>Réponse acceptée
!
Commenter la réponse de nicomilville
rhan_659 85 Messages postés lundi 1 novembre 2004Date d'inscription 30 juin 2011 Dernière intervention - 25 juil. 2008 à 10:03
0
Merci
re,

block affiche ?

et pour cacher via <gras>style.visibility ?

merci
Commenter la réponse de rhan_659
nicomilville 3498 Messages postés lundi 16 juillet 2007Date d'inscription 28 février 2014 Dernière intervention - 25 juil. 2008 à 10:22
0
Merci
en fait display si tu le met a block, ça affiche et si tu le met a none ça le cache !

et le visibility, c'est différent, si tu le met a hidden, le div se cache mais prend toujours de la place et si tu le met a visible, le div est visible !

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Commenter la réponse de nicomilville
rhan_659 85 Messages postés lundi 1 novembre 2004Date d'inscription 30 juin 2011 Dernière intervention - 25 juil. 2008 à 10:41
0
Merci
ok je comprend mieux

soit je fais un

avec en JS : <gras>style.visibility

soit un

avec en JS : style.display

par contre FF ça roule, Ie ma div reste invisible, il ya une particularité pour IE ?
Commenter la réponse de rhan_659
rhan_659 85 Messages postés lundi 1 novembre 2004Date d'inscription 30 juin 2011 Dernière intervention - 25 juil. 2008 à 11:07
0
Merci
ok

j'ai compris pourquoi ie " n'affichait pas"

en fait quand je met des alert je vois ma div, ie met juste du temp pour l'afficher alors que sous FF c'et immediat !

là je comprend pas
Commenter la réponse de rhan_659
nicomilville 3498 Messages postés lundi 16 juillet 2007Date d'inscription 28 février 2014 Dernière intervention - 25 juil. 2008 à 11:12
0
Merci
donc ton problème est résolu donc tu peus mettre les réponses qui t'ont aidés en réponses acceptées !

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Commenter la réponse de nicomilville
rhan_659 85 Messages postés lundi 1 novembre 2004Date d'inscription 30 juin 2011 Dernière intervention - 25 juil. 2008 à 11:13
0
Merci
si je met un

alert('!'); juste apres avoir rendu ma div visible, je vois tout bien !

document.getElementById('iddiv').<gras>style.visibility = "visible";
alert('!');

si je retir le alert je ne vois plus rien !

je comprend pas
Commenter la réponse de rhan_659
nicomilville 3498 Messages postés lundi 16 juillet 2007Date d'inscription 28 février 2014 Dernière intervention - 25 juil. 2008 à 11:18
0
Merci
moi non plus, il faut poster dans la rubrique problème de compatibilité...

Si les réponses vous conviennent, pensez :Réponse acceptée !
Commenter la réponse de nicomilville
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 25 juil. 2008 à 11:18
0
Merci
Bonjour,
en javascript tu joue avec style.visibility
et en html avec style display
c'est l'un ou l'autre ( ou les 2 mais là ça ne sert pas à grand chose )
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Commenter la réponse de cs_bultez
nicomilville 3498 Messages postés lundi 16 juillet 2007Date d'inscription 28 février 2014 Dernière intervention - 25 juil. 2008 à 11:21
0
Merci
A ba oui dans les exemple que je t'ai donné, j'avais mis le display en html avec le display en javascript ...
et le visibility html avec le visibility javascript !

lol

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Commenter la réponse de nicomilville
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 25 juil. 2008 à 11:27
0
Merci
c'est probablement ( ou peut-être ) pas le cas de rhan_659 ?
qu'il nous redonne tout, là où il en est...
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Commenter la réponse de cs_bultez
cs_kopax 15 Messages postés dimanche 16 mai 2004Date d'inscription 2 mai 2012 Dernière intervention - 12 avril 2010 à 06:01
0
Merci
Bonjour, ce code m'intéresse, je cherche un tuto pour faire la même chose.

J'aimerai que suite à un clic ça affiche, et suite à un autre clic ça le cache (et pas que ça prenne de l'espace).

Dommage que la personne n'a pas donné de nouvelle après résolution de ses problèmes.


J'aimerai aussi savoir si il est possible de modifié le texte du lien en question suite à l'affichage/masquage de la DIV.

par exemple
Si DIV pas affiché le liens est (+)info
Si DIV affiché le liens est (-)info.

Sinon à quoi ressemble le CSS? existe il encore des incompatibilité avec IE au jour d'aujourd'hui?


J'espère ne pas avoir déterrer une antiquité et que les gens aillant participé à ce thread son encore de se monde :P
Commenter la réponse de cs_kopax
rhan_659 85 Messages postés lundi 1 novembre 2004Date d'inscription 30 juin 2011 Dernière intervention - 12 avril 2010 à 08:45
0
Merci
bonjour

je m'aperçois avec horreur que j'ai oublié ce post, toute mes excuses.

voila le code

function isShow(element){
if(element "undefined" || element null){return true}
if (element.getAttribute('style') "undefined" || element.getAttribute('style') null || element.getAttribute('style') == ""){return true;}
var etat = false;
if(element.getAttribute('style').toLowerCase().indexOf('visibility') >0){etat true;}
else if (element.getAttribute('style').toLowerCase().indexOf('block') >0){etat true;}

return etat;
}


function show(element,show, style){
if(element "undefined" || element null){return;}
if(show"undefined" || show null){return;}
if(show !true){show false;}else{show = true;}
if(style"undefined" || style null || style == ""){style = "";}

if (element.getAttribute('style') "undefined" || element.getAttribute('style') null || element.getAttribute('style') == ""){
if(style == ""){return;}
switch(style.toLowerCase()){
case 'v':
case 'visible':
case 'visibility':
if (show == true){
element.style.visibility = "visible";
}else{
element.style.visibility = "hidden";
}
break;
case 'd':
case 'disp':
case 'display':
if (show == true){
element.style.display = "block";
}else{
element.style.display = "none";
}
break;
}
}else{
if(element.getAttribute('style').toLowerCase().indexOf('visibility') >= 0){
if (show == true){
element.style.visibility = "visible";
}else{
element.style.visibility = "hidden";
}
}else if(element.getAttribute('style').toLowerCase().indexOf('display') >= 0){
if (show == true){
element.style.display = "block";
}else{
element.style.display = "none";
}
}
}
}
Commenter la réponse de rhan_659
cs_kopax 15 Messages postés dimanche 16 mai 2004Date d'inscription 2 mai 2012 Dernière intervention - 12 avril 2010 à 12:44
0
Merci
Mrci beaucoup, j'ai de la chance on dirai.

Je comprend pas grand choses, je ne fais que du php et pas de javascript (mais alors pas du tout)
Pourquoi j'ai l'impression que y a du double?

Dans le meilleur des cas dans le meilleur des mondes, serai-il possible de indenté le code pour qu'il puisse être modifié et améliorer, et de le posté dans la librairie de code?


(Ça peut être intéressant, on vois se code souvent et pourtant aucun tuto, code facilement trouvable sur google, pour dire je suis venu à chercher ici ^-^)

Merci bien dans tout les cas !
Commenter la réponse de cs_kopax

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.