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 ou cacher un div avec image


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2008
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 32
    Points : 20
    Points
    20
    Par défaut afficher ou cacher un div avec image
    bonjour je souhaite cacher et afficher cette partie de mon formulaire, j'y arrive pas, en fin a moitier, mais l'image ne change pas du [-] au [+], par defaut elle est sur [-]
    voici la partie du code
    dans: page.js
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function showHideDivToggle(divName)
      {
        divId = document.getElementById(divName);
        divId.style.display = (divId.style.display == 'none')?'':'none';  
      }
    dans ma page jsp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ...
    <script src="includes/scripts/page.js"></script></head>
    ...
    <td><img src="images/minus.gif"
          onclick="showHideDivToggle('applSearchParameters');">
          </img>
    </td>
    ...//un pti peu plus bas
    <div id="applSearchParameters">
    // j'ai un tableau
    en image


  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    pour ta balise image :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <img src="images/minus.gif"
          onclick="showHideDivToggle('applSearchParameters');this.src = (this.src == 'images/minus.gif') ? 'images/maxi.gif':'images/minus.gif'" />
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2008
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 32
    Points : 20
    Points
    20
    Par défaut
    marche po au faite ca fonctionne sauf qu'il ne change pas l'image a [+] : images/plus.gif

  4. #4
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Salut,

    Ce genre de comparaisons: this.src == 'images/minus.gif' va poser des problèmes
    sur la plupart des navigateurs, parce que this.src ne renvoie pas exactement
    ce qui est écrit dans l'attribut src mais l'url absolu correspondant:

    par ex:
    http://www.domaine.com/images/minus.gif
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

  5. #5
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    il suffit d'ajouter un boolean global ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    var isOpen = true ;
     
    function showHideDivToggle(divName,MyImage)
      {
        divId = document.getElementById(divName);
        divId.style.display = (divId.style.display == 'none')?'':'none'; 
        MyImage.src = (isOpen) ?  'images/minus.gif':'images/maxi.gif';
        isOpen = (isOpen) ? false;true;
      }
    donc a l'appel de la méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="..." onclick="showHideDivToggle(divName,this)" />
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

  6. #6
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Citation Envoyé par le_chomeur Voir le message
    isOpen = (isOpen) ? false;true;
    isOpen = !isOpen;

    C'est plus écologique :-)
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 13/02/2014, 16h54
  2. Afficher ou cacher un div
    Par Décibel dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 21/10/2011, 19h09
  3. Afficher et cacher une div avec jquery.
    Par p2w.walas dans le forum jQuery
    Réponses: 2
    Dernier message: 12/08/2009, 10h53
  4. Afficher et cacher le Taskbar avec VB
    Par nabil dans le forum Vos contributions VB6
    Réponses: 1
    Dernier message: 08/12/2007, 09h55
  5. Largeur d'un div avec image de fond
    Par Hayabusa dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 30/10/2007, 16h46

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