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 :

[POO] argument nom d'un calque à afficher


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2007
    Messages : 12
    Points : 7
    Points
    7
    Par défaut [POO] argument nom d'un calque à afficher
    Bonjour

    J'espère que message comme le mien ne vous dérengera pas, j'ai constaté que sur le forum il n'y a quasiment que des problèmes complexes.

    Je voudrais lors de l'appel d'une fonction, passer en argument le nom d'un calque que celle-ci doit afficher ou cacher, mais je ne sais pas comment procéder.

    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
    var montrer = true
     
    function basculer(calque)
     
    { if (montrer == true) 
      { document.all.calque.style.visibility = "hidden"
     
        montrer = false
      }
      else 
      { document.all.calque.style.visibility = "visible"
     
        montrer = true
      }
     
      return true
    }

    Et voici comment j'appelle ma fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     <img src="Images_CSS/Boutons/infos.gif" alt="Infos"  name="infos"  width="37" height="32" id="infos"  onClick="basculer(imageQuiBascule)">
     <img src="Images_CSS/Boutons/infos.gif" alt="Infos2" name="infos2" width="37" height="32" id="infos2" onClick="basculer(imageQuiBascule2)">
    En espérant être clair je vous remercie par avance

  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 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <img src="Images_CSS/Boutons/infos.gif" alt="Infos"  name="infos"  width="37" height="32" id="infos"  onClick="basculer(this)">
     <img src="Images_CSS/Boutons/infos.gif" alt="Infos2" name="infos2" width="37" height="32" id="infos2" onClick="basculer(this)">
    tu passes quoi en paramètre ???



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function basculer(calque){
     calque.style.visibility =(calque.style.visibility=='visible')?'hidden':'visible';
       }
    mais bon une fois hidden tu ne peux plus clicker dessus

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2007
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Merci pour ta réponse

    Ce que je veux passer en paramètre, c'est le nom du calque qui doit apparaitre ou disparaitre, que j'ai appelé imageQuiBascule. Et non le bouton, donc je devrais pouvoir clicker dessus à volonté. (c'est pas très clair pour moi, donc de la peine à me faire comprendre)

    A la base, ma fonction ne transportait pas d'argument et cette ligne était ainsi écrite,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.all.imageQuiBascule.style.visibility = "hidden"
    cependant si j'ai plusieurs calques sur ma page, il faudrait créer autant de scripts identiques. C'est pour cette raison que j'essaie de faire passer en argument le nom du calque à cacher/afficher grâce au bouton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="Images_CSS/Boutons/infos.gif" alt="Infos2" name="infos2" width="37" height="32" id="infos2" onClick="basculer(imageQuiBascule2)">

  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 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    basculer(imageQuiBascule2)"
    jke ne vois rien qui identifie l'image ...

    On peut mettre la maiun sur un elementpar son id ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('bla')
    par son name
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementsByName('bla')[0]
    0 etant l'indice de l'element si plusieurs portent le même nom

    par son tag
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementsByTagName('img')
    par son type de tag exemple image:

    i étant l'indice ordinal de l'image dasn le flux de la page ...
    etc ....

    commence peut être par mettre des id à tes images et les appeler comme il faut ?


    par exemple avec l'id

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img id="monimage" ...>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function  Cache(calque){ document.getElementById(calque).style.visibility='hidden';}
    que tu appelles comme ceci:

    en passant en paramètre le string de l'id ...

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2007
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Un grand merci à toi, tu m'as fait faire un grand pas en JavaScript, j'ai eu un déclic.

    En fait, je me suis dès le début mal expliqué je suppose. J'ajoutais bien un id mais aux calques que je voulais faire apparaître/disparaître ! J'aurais du montrer ceci depuis le début. C'est la syntaxe que je recherchais

    Bref grâce à ton aide j'ai réussi, voila le résultat ci-dessous, reste un petit problème lorsqu'on fait apparaître le premier calque, que l'on veut afficher la deuxième on doit cliquer deux fois. J'ai été d'abords surpris que je puisse utiliser une seule variable, mais je suppose qu'il m'en faudrait deux ?

    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
    <script language="javascript">
     
    	var montrer = true
     
    	function cacheMontrer(calque)
    		{ 
    			if (montrer == true)
    				{document.getElementById(calque).style.visibility='visible'
    				 montrer = false
    				}
    			else
    				{document.getElementById(calque).style.visibility='hidden'
    				 montrer = true
    				}
     
    				return true
    		}
     
    </script>
    </head>
     
    <body>
    <div id="infosHTML" background-color: #330066; visibility:hidden"></div>
    <div id="infosJS" background-color: #009999; visibility:hidden"></div>
    <img src="infos.gif" onClick="cacheMontrer('infosHTML')">
    <img src="infos.gif" onClick="cacheMontrer('infosJS')">
    </body>

  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 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    pense a fermer tes balises img ...

    ton code fonctionne presque mais tu as un souci avec la variable flag 'montrer'...
    tu l'attribues pour un objet mais tu ne la rechange pas pour l'autre
    ..
    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
    <script type='text/javascript'>
    	function cacheMontrer(calque,obj)
    		{ 
    				document.getElementById(calque).style.visibility=(document.getElementById(calque).style.visibility=='visible')?'hidden':'visible';;
    				return true;
    		}
     
    </script>
    </head>
     
    <body>
    <div id="infosHTML" style="background-color: #330066; visibility:hidden">&nbsp;</div>
    <div id="infosJS" style="background-color: #009999; visibility:hidden">&nbsp;</div>
    <img src="infos.gif" onclick="cacheMontrer('infosHTML',this)" />
    <img src="infos.gif" onclick="cacheMontrer('infosJS',this)" />
    </body>

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2007
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Super ça fonctionne parfaitement.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =='visible')?'hidden':'visible'
    C'est une bonne formule merci bien, pour ce qui est du this, faut que je revoie mais pour ceci je peux me débrouiller merci encore.

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 11/11/2007, 18h06
  2. Constructor avec argument nom de fichier
    Par Jean_Benoit dans le forum C++
    Réponses: 5
    Dernier message: 29/09/2006, 13h34
  3. [POO] Argument facultatif par référence
    Par windob dans le forum Langage
    Réponses: 11
    Dernier message: 20/08/2006, 15h02
  4. [POO] changement nom objet
    Par melou dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/10/2005, 08h44
  5. [POO] passage nom objet dsn les parametres d'une fonction
    Par melou dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 21/10/2005, 17h26

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