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 :

Comprendre le bout de code


Sujet :

JavaScript

Vue hybride

CharlieVan Comprendre le bout de code 17/01/2024, 15h36
mathieu la fonction "toggle_div" a 2... 17/01/2024, 16h33
labarre2002 c est une notation qui permet... 17/01/2024, 16h50
CharlieVan opérateur ? et btn 17/01/2024, 16h54
Doksuri btn sera le nom de la... 17/01/2024, 17h08
CharlieVan btn.innerHTML 17/01/2024, 17h20
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2024
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2024
    Messages : 10
    Par défaut Comprendre le bout de code
    Bonjour,

    Je suis nouveau dans le js et j'ai pioché un bout de code qui à pour fonction de masqué et afficher du texte.

    Je vous transmet le html et le js pour que vous m'aidiez a comprendre le js.

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      <h2 class="sous-titre">What is Frontend Mentor, and how will it help me?</h2><button type="button" onclick="toggle_div(this, 'lire1');" title="Afficher la suite">+</button>
     
      <p class="text"><div id="lire1" style="display:none">Frontend Mentor offers realistic coding challenges to help developers improve their 
      frontend coding skills with projects in HTML, CSS, and JavaScript. It's suitable for 
      all levels and ideal for portfolio building.</div></p>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function toggle_div( btn, id_div )
    {
      btn.innerHTML = (btn.innerHTML == '+')? '-' : '+';
      btn.title = (btn.title == 'Afficher la suite')? 'Masquer la suite' : 'Afficher la suite';
      document.getElementById( id_div ).style.display = (document.getElementById( id_div ).style.display == 'none')? 'block' : 'none';
    }
    J'ai bien compris qu'on déclare une variable nommée toggle_div qui prend en paramètre btn(d'où vient-il) et les id de toutes les div. Ensuite btn.innerHTML je n'ai pas compris(je connais innerHTML mais d'où vient btn?), est égal a btn.innerHTML strictement égal à +. ensuite on définit que si c'est + on affiche - et inversement?

    La ligne suivante est globalement la même mais pour le texte affiché au survol du +.

    Ensuite on récupère les id des div et style.display je n'ai pas compris, est égal à la récupération des id des div avec encore une fois style?display strictement égal à none, et le "?" ainsi que le reste cela reste un mystère pour moi.

    Mes interrogations sont peut être bête mais je suis nouveau dans le js et j'ai besoin d'éclaircissement pour avancer.

    Je mes aussi en une photo du résultat qui est celui demandé.Nom : image_2024-01-17_153542259.png
Affichages : 190
Taille : 49,7 Ko

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 640
    Par défaut
    Citation Envoyé par CharlieVan Voir le message
    on déclare une variable nommée toggle_div qui prend en paramètre btn(d'où vient-il)
    la fonction "toggle_div" a 2 arguments. cela veut dire qu'au moment de l'appel de la fonction, la valeur du 1er argument va se trouver dans "btn" et la valeur du 2e argument sera récupérable dans la variable "id_div".

    pour le ?, c'est un opérateur dont le fonctionnement est expliqué ici :
    https://developer.mozilla.org/fr/doc...ional_Operator

  3. #3
    Membre éclairé Avatar de labarre2002
    Homme Profil pro
    Inscrit en
    Avril 2008
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2008
    Messages : 245
    Par défaut
    Ensuite btn.innerHTML je n'ai pas compris(je connais innerHTML mais d'où vient btn?)
    c est une notation qui permet de cibler des boutons

    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    const btn=document.querySelector('button');

  4. #4
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2024
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2024
    Messages : 10
    Par défaut opérateur ? et btn
    Je vous remercie j'ai compris "?"

    Pour le btn je n'ai jamais déclarer de variable btn c'est pour cela que je me demande quelle information cela renvoie

  5. #5
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 489
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 489
    Par défaut
    btn sera le nom de la variable "locale" a la fonction

    par exemple
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function afficheText(msg) {
    alert(msg);
    }
    afficheText('coucou');
    dans mon exemple, mon argument (variable locale s'appelle "msg", mais tu peux l'apeller comme tu veux)
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function afficheText(toto) {
    alert(toto);
    }
    afficheText('coucou');
    aura le meme resultat
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  6. #6
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2024
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2024
    Messages : 10
    Par défaut
    Citation Envoyé par Doksuri
    ...
    Donc est il possible de m'expliquer btn.innerHTML, j'ai bien compris que btn c'est ma variable créer avec ma fonction

  7. #7
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2024
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2024
    Messages : 10
    Par défaut btn.innerHTML
    Si j'ai bien compris innerHTML me permet de créer du contenu HTML sauf que la se n'est pas le cas, si?

    est ce que sa voudrait dire que je créer l'élément html btn?

    J'ai fais ça a la suite pour vérifier un truc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    let bouton = btn.innerHTML
        bouton.addEventListener("click", ()=>{
            console.log("btncliqué")
        })
    Et quand je clique sur le bouton et vais dans la console rien ne s'affiche

    J'ai vraiment du mal avec le btn.innerHTML

  8. #8
    Membre expérimenté
    Homme Profil pro
    Webdesigner
    Inscrit en
    Juin 2014
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2014
    Messages : 458
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    let bouton = btn.innerHTML
        bouton.addEventListener("click", ()=>{
            console.log("btncliqué")
        })
    btn.innerHTML est une propriété de btn. C'est une chaine de caractères.
    Tu peux tester pour t'en convaincre
    Ce n'est pas du tout un élément HTML.
    Tu ne peux donc pas poser un écouteur dessus.

Discussions similaires

  1. Besoin de comprendre un bout de code
    Par aicha84 dans le forum Autres langages
    Réponses: 2
    Dernier message: 09/04/2021, 20h54
  2. Comprendre un bout de code
    Par lejimi dans le forum Débuter
    Réponses: 2
    Dernier message: 16/06/2015, 10h03
  3. Comprendre un bout de code
    Par Juliendu92 dans le forum MATLAB
    Réponses: 2
    Dernier message: 08/02/2015, 09h03
  4. Besoin d'aide pour comprendre ce bout de code
    Par sorry60 dans le forum x86 32-bits / 64-bits
    Réponses: 2
    Dernier message: 21/03/2009, 16h44
  5. Comprendre un bout de code
    Par MohEllayali dans le forum OpenCV
    Réponses: 1
    Dernier message: 27/06/2008, 13h48

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