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 :

Faire disparaître un élément


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 19
    Points : 11
    Points
    11
    Par défaut Faire disparaître un élément
    Bonjour,

    J'ai deux fonctions en 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
     function file(dir, name)
    	{
    	document.getElementById('copy').setAttribute('href', "index.php?action=copy&path="+dir+"&name="+name);
    	document.getElementById('rename').setAttribute('href', "index.php?action=rename&path="+dir);
    	document.getElementById('delete').setAttribute('href', "index.php?action=deleteFile&path="+dir);
    	document.getElementById('downloadFile').setAttribute('href', "index.php?action=download&path="+dir+"&name="+name);
    	}
     
    function folder(dir, name)
    	{
    	document.getElementById('deleteFolder').setAttribute('href', "index.php?action=deleteFolder&path="+dir);
    	document.getElementById('copyFolder').setAttribute('href', "index.php?action=copyFolder&path="+dir+"&name="+name);
    	document.getElementById('renameFolder').setAttribute('href', "index.php?action=rename&path="+dir);
    	}
    Je voudrais qu'elle s'affiche respectivement dans une div seulement quand on a cliqué sur l'objet concerné. Je suis vraiment novice en javascipt et je ne sais pas comment m'y prendre.
    Pourriez vous m'aider ?

    Cordialement,

  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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    ???
    afficher des fonctions

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 19
    Points : 11
    Points
    11
    Par défaut
    oui pardon, je me suis certainement mal expliqué, j'aimerais faire une fonction pour cacher une div ou qu'elle apparaisse quand l'on clic sur un lien, mais je ne sais pas du tout comment m'y prendre.

    Cordialement,

  4. #4
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    style visibility => visible ou hidden
    ou bien
    style display => block ou none

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 19
    Points : 11
    Points
    11
    Par défaut
    j'ai réussi à faire quelque chose j'ai cette fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    function visibilite(id)
    {
    	var targetElement;
    	targetElement = document.getElementById(id);
    	if (targetElement.style.display == "none")
    	{
    	targetElement.style.display = "" ;
    	} 
    	else 
    	{
    	targetElement.style.display = "none" ;
    	}
    }
    et j'ai deux liens avec un visibilite('fichier'); et un visibilite('dossier');

    Cela fonctionne mais pas comme je le souhaite je voudrais que quand j'ai déjà cliqué sur le lien de visibilite('fichier'); (donc la div apparaît) qu'elle disparaisse si je clic sur le lien visibilite('dossier); et que la div de dossier s'affiche car là les deux restent afficher et c'est pas ce que je souhaite.
    Et j'aimerais aussi (si cela est possible) que si je clic sur un élément complétement différent que les deux div se cachent.

    J'espère avoir été assez clair.

    Cordialement,

  6. #6
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    Ben tu ne passe qu'un id dans ta fonction, elle n'agit donc que sur un element

  7. #7
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 19
    Points : 11
    Points
    11
    Par défaut
    non elle agit bien sur les deux éléments ...
    le problème n'est pas la c'est que je voudrais que lorsque qu'un élément est ouvert, la fonction ferme l'élément ouvert avant d'en ouvrir un autre.

  8. #8
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    ????
    si tu ne passes qu'un id ...
    sachant qu'un id DOIT être unique sur la page, je ne vois pas comment elle peut agir sur deux element à la fois ...

  9. #9
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 19
    Points : 11
    Points
    11
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo "<li id='bouton' dir=".$directory." name=".$name." onclick=\"javascript:folder(this.getAttribute('dir'), this.getAttribute('name')), visibilite('fichier');\" ><img alt='dossier' src='images/folderclose.png'/>".$name."</li>";
     
    echo "<li id='bouton' dir=".$directory." name=".$name." onclick=\"javascript:folder(this.getAttribute('dir'), this.getAttribute('name')), visibilite('dossier');\" ><img alt='dossier' src='images/folderclose.png'/>".$name."</li>";
    et j'ai deux div <div id="fichier" style="display:none"> et <div id="dossier" style="display:none">

    et la fonction marche pour mes deux id qui sont bien différents

  10. #10
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    tes li ont les même id ...

  11. #11
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 19
    Points : 11
    Points
    11
    Par défaut
    mes li oui mais je sais pas comment mettre autre chose à cause du javascript

  12. #12
    Membre expérimenté Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Points : 1 519
    Points
    1 519
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick=\"javascript:folder(this.getAttribute('dir'), this.getAttribute('name')), visibilite('fichier');\"

    sans boucle, un label ne sert strictement à rien en javascript.

    vire-moi cette horreur de "javascript:" qui vient probablement d'un copié/collé de href="javascript:..." (qui est une horreur aussi mais soit) où le "javascript:" placé en début d'URL (dans la barre de navigation) indique le protocole.

  13. #13
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 19
    Points : 11
    Points
    11
    Par défaut
    j'ai une boucle, je suis dans un template récursif.
    Et cela vient d'info que j'ai trouvé sur le net, je le retire de suite.

  14. #14
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 19
    Points : 11
    Points
    11
    Par défaut
    personne pour m'aider ? je veux juster fermer l'élément ouvert avant d'en ouvrir un autre ?

    Cordialement,

  15. #15
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    ben passe sont display block en none ??? je ne vois pas ou est la difficulté,
    à partir du moment ou tu as les deux ids ... passe les deux id en paramètre de ta fonction, masque le premier et affiche le second !

  16. #16
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 19
    Points : 11
    Points
    11
    Par défaut
    cela vous pourrez peut être très simple mais quand vous avez jamais fait du javascript c'est pas évident! je vais voir ce que je vais pouvoir faire.

  17. #17
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 19
    Points : 11
    Points
    11
    Par défaut
    j'ai fais cela en passant en paramètre ce dont j'avais besoin :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     function visibilite(fichier, dossier)
    {
    	if (docuement.getElementById(fichier).style.display == "none")
    	{
    		document.getElementById(fichier).style.display = "block" ;
    	} 
    	else 
    	{
    		document.getElementById(dossier).style.display = "none" ;
    	}
    }
    mais cela ne fonctionne pas du tout je ne comprend vraiment pas, sa serait cool que quelqu'un m'explique.

    merci d'avance

    Cordialement,

  18. #18
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    Pas évident ?

    Je crois que tu tes fais une montagne d'un tout petit truc ...

    voici un code pour éclairer ta lanterne
    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
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
     
    <title>Nouvelle page 1</title>
     
    <script type="text/javascript">
    function masquer(obj1,obj2){
    document.getElementById(obj1).style.display="block";
    document.getElementById(obj2).style.display="none"
    }
    </script>
     
    </head>
     
    <body>
    <div id="un" > je suis le div 1 </div>
    <div id="deux" > je suis le div 2 </div>
    <input type="button" onclick="masquer('un','deux')" value="masquer un afficher deux" />
    <input type="button" onclick="masquer('deux','un')" value="masquer deux afficher un" />
    </body>
     
    </html>

  19. #19
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 19
    Points : 11
    Points
    11
    Par défaut
    bon effectivement j'étais partis très loin, pour quelque chose d'aussi simple ...
    je vous remercie d'avoir pris la peine de me montrer un exemple pour m'éclaircir.

    Cordialement,

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 04/04/2015, 10h46
  2. Liste Déroulante - faire apparaître et disparaître des éléments
    Par crush911 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 05/10/2011, 08h11
  3. [faire disparaître un élément]
    Par remyli dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 15/05/2007, 14h00
  4. [JVM?] Faire disparaître les menus…
    Par seb.ch dans le forum Interfaces Graphiques en Java
    Réponses: 4
    Dernier message: 01/08/2005, 16h44
  5. Faire disparaître menu lors de l'impression
    Par jackrabbit dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 19/12/2004, 20h56

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