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 :

Appel à une fonction


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    étudiant
    Inscrit en
    Avril 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 44
    Points : 41
    Points
    41
    Par défaut Appel à une fonction
    Bonjour, je viens chercher un peu d'aide sur ce forum car je cherche à créer une div cliquable permettant de faire disparaître le titre de la div pour faire apparaître le texte descriptif.
    Comme sur les tablettes le hover ne fonctionne pas, toujours j'ai regardé un peu du côté de javascript.

    Le code est relativement simple et "fonctionnel" si ce n'est qu'on est obligé de cliquer deux fois pour que le display du titre et du texte changent.

    J'ai placé un alert() dans la fonction et je remarque que lors du premier clic les variables titre et paragraphe ne sont pas initialisé.

    Savez vous pourquoi la fonction à un tel comportement ?

    Merci d'avance pour votre aide.

    Voici le code de la fonction ci dessous:
    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
    <!DOCTYPE html>
    <html>
    <head>
    <style>
    .show{
            display: none;
    }
     
    div{
    border: solid black 3px;
    cursor: pointer;
    }
    </style>
    </head>
    <body>
    <div onclick=myFunction()>
    <center><h2 id="titre">TITRE</h2></center>
    <p class="show" id="paragraphe" >PETIT TEXT.</p>
    </div>
    <script>
    function myFunction() {
        var titre = document.getElementById("titre").style.display;
        var paragraphe = document.getElementById("paragraphe").style.display;
        
        alert(titre + " et " + paragraphe);
        
        if( titre == "block" ){
            document.getElementById("titre").style.display = "none";
            document.getElementById("paragraphe").style.display = "block";
        }
        else{
            document.getElementById("paragraphe").style.display = "none";
            document.getElementById("titre").style.display = "block";
        }
    }
    </script>
     
    </body>
    </html>

  2. #2
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 185
    Points
    17 185
    Par défaut
    Salut
    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
    <!DOCTYPE html>
    <html>
    <head>
    <style>
    .show{
            display: none;
    }
     
    div{
    border: solid black 3px;
    cursor: pointer;
    }
    </style>
    </head>
    <body>
    <div onclick="myFunction()">
    <center><h2 id="titre" style="display:block">TITRE</h2></center>
    <p class="show" id="paragraphe" >PETIT TEXT.</p>
    </div>
    <script>
    function myFunction() {
        var titre = document.getElementById("titre").style.display;
        var paragraphe = document.getElementById("paragraphe").innerHTML;
        
        alert(titre + " et " + paragraphe);
        
        if( titre == "block" ){
            document.getElementById("titre").style.display = "none";
            document.getElementById("paragraphe").style.display = "block";
        }
        else{
            document.getElementById("paragraphe").style.display = "none";
            document.getElementById("titre").style.display = "block";
        }
    }
    </script>
     
    </body>
    </html>
    Voir la modification ligne 17 et 23.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre du Club
    Profil pro
    étudiant
    Inscrit en
    Avril 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 44
    Points : 41
    Points
    41
    Par défaut
    Merci pour ton aide ProgElecT, ça fonctionne à merveille !

    Par contre le innerHTML n'est pas prévu pour afficher du texte dans la page ?

    Je ne saisi pas très bien compri la modif.

  4. #4
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 185
    Points
    17 185
    Par défaut
    Par contre le innerHTML n'est pas prévu pour afficher du texte dans la page ?
    Une petite lecture intéressante sur le sujet [FAQ] Définitions : innerText, innerHTML, outerText, outerHTML
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre du Club
    Profil pro
    étudiant
    Inscrit en
    Avril 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 44
    Points : 41
    Points
    41
    Par défaut
    Ah d'accord je comprend mieux.

    Merci beaucoup pour ton aide et pour la doc' !

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

Discussions similaires

  1. appeler une fonction connaissant son nom (en string)
    Par Guigui_ dans le forum Général Python
    Réponses: 1
    Dernier message: 20/07/2004, 00h46
  2. [DLL] problème pour appeler une fonction d'une DLL
    Par bigboomshakala dans le forum MFC
    Réponses: 34
    Dernier message: 19/07/2004, 11h30
  3. Appeler une fonction avec "action" ds un
    Par drinkmilk dans le forum ASP
    Réponses: 4
    Dernier message: 20/04/2004, 14h54
  4. [JSP] Appeler une fonction
    Par Patrick95 dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 23/12/2003, 13h44
  5. Appeler une fonction avec/sans parenthèses
    Par haypo dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 29/12/2002, 18h48

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