IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

afficher cacher div


Sujet :

JavaScript

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Points : 288
    Points
    288
    Par défaut afficher cacher div
    Bonjour,

    Je cherche a afficher ou masquer des div, et ca ne marche pas...
    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    ......
     
    <table id="imagetapis" width="284" height="250" border="0" cellspacing="0" cellpadding="0" style="background-image:url(/images/tapis/I.jpg);">
            <tr>
              <td valign="bottom">
                <table width="284" border="0" cellspacing="0" cellpadding="0">
                  <tr>
                    <td>&nbsp;</td>
                  </tr>
                  <div id="cordelette_interieure">
                  <tr>
                    <td><img align="bottom" alt="" border="0"  width="284" id="cord_int" name="cord_int" src="/images/tapis/17.jpg"></td>
                  </tr>
                  </div>
                  <div id="cordelette_exterieure">
                  <tr>
                    <td><img align="bottom" alt="" border="0"  width="284" id="cord_ext" name="cord_ext" src="/images/tapis/38.jpg"></td>
                  </tr>
                  </div>
                  <tr>
                    <td><img align="bottom" alt="" border="0" height="40" width="284" id="bordure" name="bordure" src="/images/tapis/R.jpg"></td>
                  </tr>
                </table>
              </td>
            </tr>
          </table>
     
    .........
    <div id="image_cordelette">
      <tr>
        <td colspan="2" align="center"><img align="bottom" alt="" border="0" id="corde" name="corde" src="/images/tapis/cordelettesRG.jpg" usemap="#Map2" ismap></td>
      </tr>
      </div>
    </table>
    Et le javascript:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    <script language="JavaScript">
    var id_prod=document.getElementById('id3').value;
     
    if(id_prod==753)
    {
    	document.getElementById(cordelette_interieure).style.visibility='hidden';
    	document.getElementById(cordelette_interieure).style.display='none';	
    }
    if(id_prod==754)
    {
        document.getElementById(cordelette_interieure).style.visibility='hidden';
        document.getElementById(cordelette_interieure).style.display='none';
        document.getElementById(cordelette_exterieure).style.visibility='hidden';
        document.getElementById(cordelette_exterieure).style.display='none';
        document.getElementById(image_cordelette).style.visibility='hidden';
        document.getElementById(image_cordelette).style.display='none';
    }
    </script>
    Pourquoi ca ne marche pas?
    J'ai besoin d'aide car je comprend pas trop....
    Merci d'avance

  2. #2
    Membre habitué Avatar de TSalm
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 361
    Points : 177
    Points
    177
    Par défaut
    mmmh, dans ton script, les variables cordelette_interieure et image_cordelette ne sont pas définies !?

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Points : 288
    Points
    288
    Par défaut
    ce ne sont pas des variables, ce sont les id de mes div...

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Points : 288
    Points
    288
    Par défaut
    ah merde!!!
    Je viens de me rendre compte que j'avais oublié les guillemets!!
    merci de ta réponse!!

  5. #5
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 656
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 656
    Points : 11 153
    Points
    11 153
    Par défaut
    et pour alléger ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    <script language="JavaScript">
    var id_prod=document.getElementById('id3').value;
     
    var objCordeInt, objCordeExt, imgCorde;
    objCordeInt = document.getElementById("cordelette_interieure");
    objCordeExt = document.getElementById("cordelette_exterieure");
    imgCorde = document.getElementById("image_cordelette");
     
    if(id_prod==753)
    {
    	objCordeInt.style.visibility='hidden';
    	objCordeInt.style.display='none';	
    }
    if(id_prod==754)
    {
        objCordeInt.style.visibility='hidden';
        objCordeInt.style.display='none';
     
        objCordeExt.style.visibility='hidden';
        objCordeExt.style.display='none';
     
        imgCorde.style.visibility='hidden';
        imgCorde.style.display='none';
    }
    </script>
    Par ailleurs pourquoi utilises-tu à la fois visibility et display ? Sois l'une soit l'autre, utiliser les deux est sans intéret.

  6. #6
    Membre habitué Avatar de TSalm
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 361
    Points : 177
    Points
    177
    Par défaut
    bha de rien

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Points : 288
    Points
    288
    Par défaut
    Je viens de mettre a jour mon code, et ca ne marche toujours pas...
    Voici mon code mis a jour:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    <script language="JavaScript">
    var id_prod=document.getElementById('id3').value;
     
    var objCordeInt, objCordeExt, imgCorde;
    objCordeInt = document.getElementById("cordelette_interieure");
    objCordeExt = document.getElementById("cordelette_exterieure");
    imgCorde = document.getElementById("image_cordelette");
     
    if(id_prod==753)
    {
    	objCordeInt.style.display='none';	
    }
    if(id_prod==754)
    {
        objCordeInt.style.display='none';
        objCordeExt.style.display='none';
        imgCorde.style.display='none';
    }
    </script>
    Pourquoi ca ne marche pas?...

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Points : 288
    Points
    288
    Par défaut
    Est ce que ca peut venir du fait que mes div sont inclus dans des tableaux et qu'ils supprime des ligne <tr> de tableau?

    Je fais des suppositions, car là je vois plus trop où chercher...

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 14
    Points : 13
    Points
    13
    Par défaut
    var id_prod=document.getElementById('id3').value;
    Là tu demandes la valeur de ton ID

    Mais comme ton script doit probablement être placé en en-tête et ton element ID dans la page, ça ne peut pas le faire (car il n'y a pas d'appel au script depuis la page.

    Alors, en gardant tout comme ça, moi j'essearai de déclarer tous mes ID et leur valeur de base (c'est-à-dire telle que les DIV doivent s'afficher - valeur de display) dans une css placée AU_DESSUS du script.

  10. #10
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Pour éviter d'avoir à faire des suppositions sur l'ordre de chargement des objets de la page (aléatoire), fais-en une fonction, et lance la sur le onload du body.

    A+

  11. #11
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 656
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 656
    Points : 11 153
    Points
    11 153
    Par défaut
    Citation Envoyé par E.Bzz
    Pour éviter d'avoir à faire des suppositions sur l'ordre de chargement des objets de la page (aléatoire), fais-en une fonction, et lance la sur le onload du body.

    A+
    +1

    Si ton script est dans le head de la page, tu exécutes la fonction avant que tes éléments HTML soient chargés donc tes getElementById() renvoient null. Fais comme te le conseille E.Bzz : place ton script dans une fonction que tu exécutes sur l'événement onload :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    <html>
    <head>
    <title></title>
     
    <script type="text/javascript">
    <!--
    function init()
    {
    var id_prod=document.getElementById('id3').value;
     
    var objCordeInt, objCordeExt, imgCorde;
    objCordeInt = document.getElementById("cordelette_interieure");
    objCordeExt = document.getElementById("cordelette_exterieure");
    imgCorde = document.getElementById("image_cordelette");
     
    if(id_prod==753)
    {
            objCordeInt.style.display='none';       
    }
    if(id_prod==754)
    {
        objCordeInt.style.display='none';
        objCordeExt.style.display='none';
        imgCorde.style.display='none';
    }
    }
     
    //-->
    </script>
     
    </head>
     
    <body onload="init()">
     
     
     
    </body>
     
    </html>

  12. #12
    Membre régulier Avatar de fadex
    Inscrit en
    Septembre 2005
    Messages
    223
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Septembre 2005
    Messages : 223
    Points : 105
    Points
    105
    Par défaut
    utiliser un Débuggeur Javascript FireBug pour voire c il y a des messages d'erreurs

Discussions similaires

  1. Afficher/cacher div en glissant
    Par Invité dans le forum jQuery
    Réponses: 5
    Dernier message: 14/06/2011, 00h59
  2. Afficher / Cacher Div + Effet sur Texte
    Par HiRoN dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 24/03/2009, 22h26
  3. Afficher / Cacher une Div contenant un slider
    Par KrusK dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 10/07/2007, 15h53
  4. Afficher, cacher plusieurs divs
    Par Buku dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 18/03/2005, 11h28
  5. afficher / cacher div
    Par Cruelo dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/11/2004, 14h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo