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 :

Affichage dynamique d'un div


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 17
    Par défaut Affichage dynamique d'un div
    Bonjour,

    J'ai un souci avec une fonction js. Je suis un gros débutant dans cette techno et le code que je souhaite faire fonctionner est vraiment basique.

    Dans ma page html un lien doit permettre de masquer ou afficher le contenu d'un div (en l'occurence un tableau contenant des images).

    Mon code html est le suivant :

    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
    <!DOCTYPE html>
    <html>
     
    <head>
    <meta charset="utf-8" />
    <title>Page d'accueil</title>
    <link rel="stylesheet" href="styles.css" />
    <script src="js/scripts.js"></script>
    </head>
     
    <body>
     
    <a href="#" onClick="javascript:afficherMiniature();" id="lienAfficheMini">Afficher les miniatures</a>
     
    <div id="tableFonds">
     
    <table>
     
    <tr>
    <td><img src="img/fondminiature/tn_fond1.jpg" alt="fond1" /></td>
    <td><img src="img/fondminiature/tn_fond2.jpg" alt="fond2" /></td>
    <td><img src="img/fondminiature/tn_fond3.jpg" alt="fond3" /></td>
    </tr>
     
    <tr>
    <td><img src="img/fondminiature/tn_fond4.jpg" alt="fond4" /></td>
    <td><img src="img/fondminiature/tn_fond5.jpg" alt="fond5" /></td>
    <td><img src="img/fondminiature/tn_fond6.jpg" alt="fond6" /></td>
    </tr>
     
    </table>
     
    </div>
     
     
    </body>
     
    </html>

    et la fonction js :

    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
     
     
    function afficherMiniature()
    {
    	alert("TEST 1");
    	//Si la table est masquée alors on l'affiche et on met à jour le texte du lien
    	if(document.getElementById('tableFonds').style.dislay == "none")
    	{
    	alert("TEST 2");
    		document.getElementById('tableFonds').style.dislay = "block";
    		alert("TEST 3");
     
    	}
    	else  //Sinon on masque la table et on met à jour le texte du lien
    	{
    	alert("TEST 5");
    		document.getElementById('tableFonds').style.dislay = "none";	
    		alert("TEST 6");
    	}
    }
    Il est à noter que l'affichage des alert() fonctionne correctement. Par conséquent la fonction est bien éxécutée et les if fonctionne comme il faut. Je ne comprend donct pas pourquoi les lignes permettant le changement de l'affichage ne fonctionne pas.

    ps : je fait met test sous Firefox.

    Merci d'avance pour votre aide !!!

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#" onclick="afficherMiniature();return false;" id="lienAfficheMini">Afficher les miniatures</a>
    il faut inhiber le href de la balise a ...
    sinon ta page se recharge
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    où plus simplement

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <!-- pas de onClick="javascript:afficherMiniature();"  sur le a href -->
    <a href="#" id="lienAfficheMini">Afficher les miniatures</a>

    et la fonction js :

    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
    //pas de fonction qui traine
    document.getelementById('lienAfficheMini').onclick = 
    function()
    {
      alert("TEST 1");
      //Si la table est masquée alors on l'affiche et on met à jour le texte du lien
      if(document.getElementById('tableFonds').style.dislay == "none")
      {
        alert("TEST 2");
        document.getElementById('tableFonds').style.dislay = "block";
        alert("TEST 3");
      }
      else  //Sinon on masque la table et on met à jour le texte du lien
      {
        alert("TEST 5");
        document.getElementById('tableFonds').style.dislay = "none";	
        alert("TEST 6");
      }
      return false; //Un simple return false ici désacative la suite de l'événement : le href
    }
    A+JYT

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 17
    Par défaut
    Merci pour vos réponses.
    Malheureusement aucune de vos suggestions ne fonctionnent .

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 17
    Par défaut
    Par ailleurs la solution de sekaijin me parait bonne mais lorsque je l'utilise plus aucun alert() ne s'affiche.

  6. #6
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Il y a une faute de frappe sur la première ligne de code proposé par Sekaijin:
    Code x : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getelementById('lienAfficheMini').onclick =
    il faut lire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('lienAfficheMini').onclick =

  7. #7
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    Et une autre faute de frappe pour display et non dislay

  8. #8
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    Bonjour,
    il faut bien évidement que le script soit appelé après que l'élément lienAfficheMini ait été ajouté au DOM.

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 17
    Par défaut
    Après correction de la syntaxe ça marche nikel.

    Merci à tous !!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème d'affichage dynamique d'une liste
    Par bor1s dans le forum ASP
    Réponses: 2
    Dernier message: 18/11/2005, 16h18
  2. [CSS] Affichage background d'un "<div> vide"
    Par laulaurent dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 06/09/2005, 22h59
  3. Réponses: 1
    Dernier message: 08/07/2005, 02h46
  4. [VB.NET] - affichage dynamique dans un tableau
    Par karibouxe dans le forum ASP.NET
    Réponses: 8
    Dernier message: 20/06/2005, 15h07
  5. affichage dynamique en fonction des données en base
    Par jengo dans le forum Bases de données
    Réponses: 1
    Dernier message: 28/10/2004, 10h22

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