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 :

Sélectionner des classe en JS


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2022
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 20
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2022
    Messages : 8
    Points : 9
    Points
    9
    Par défaut Sélectionner des classe en JS
    Bonjour, j'ai fait une fonction qui change le background de ma classe aléatoirement; le problème c'est que ça s'applique que pour une seule classe alors que toutes mes cases ont les mêmes classes, pourquoi ?
    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
    var images = []; //array
     
    //images
     
    images[0] = "url(/images/test1.jpg)";
    images[1] = "url(/images/test2.jpg)";
    images[2] = "url(/images/test3.jpg)";
    //function
     
    function changeImage() {
      var photo = document.querySelector("#exposition .photo");
      photo.style.backgroundImage = images[Math.floor(Math.random() * 3)];
    }
     
    window.onload = changeImage;
    Nom : Capture d’écran 2022-11-14 234126.png
Affichages : 130
Taille : 151,3 Ko

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

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    "querySelector", retourne seulement le 1er élément. pour les retourner tous, vous pouvez utiliser "querySelectorAll" et faire une boucle :
    https://developer.mozilla.org/fr/doc.../querySelector
    https://developer.mozilla.org/fr/doc...erySelectorAll

    vous pouvez aussi lister des éléments avec une classe avec cette méthode :
    https://developer.mozilla.org/fr/doc...ntsByClassName

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2022
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 20
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2022
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    Salut, je suis vraiment novice en JS, tu peux m'expliquer le code car quand je mets querySelectorAll j'ai cette erreur, je ne comprends pas le système de boucle :
    Nom : Capture d’écran 2022-11-15 à 14.57.50.png
Affichages : 85
Taille : 32,9 Ko

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    il faut nous montrer le code pour ça.

    regardez aussi les exemples là :
    https://developer.mozilla.org/fr/doc...orrespondances

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2022
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 20
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2022
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    HTML
    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <section id="exposition">
          <h1>Photo de Gaudi</h1>
          <div class="center">
            <div class="groupe_image">
              <div class="photo">
                <div class="bordur">1</div>
                <p>Description photo 1</p>
              </div>
              <div class="photo">
                <div class="bordur">2</div>
                <p>Description photo 2</p>
              </div>
              <div class="photo">
                <div class="bordur">3</div>
                <p>Description photo 3</p>
              </div>
            </div>
            <div class="groupe_image2">
              <div class="photo">
                <div class="bordur">4</div>
                <p>Description photo 4</p>
              </div>
              <div class="photo">
                <div class="bordur">5</div>
                <p>Description photo 5</p>
              </div>
            </div>
            <div class="groupe_image3">
              <div class="photo">
                <div class="bordur">6</div>
                <p>Description photo 6</p>
              </div>
            </div>
            <div class="groupe_image4">
              <div class="photo">
                <div class="bordur">7</div>
                <p>Description photo 7</p>
              </div>
              <div class="photo">
                <div class="bordur">8</div>
                <p>Description photo 8</p>
              </div>
              <div class="photo">
                <div class="bordur">9</div>
                <p>Description photo 9</p>
              </div>
            </div>
          </div>
        </section>

    CSS
    Code css : 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
    /*Centre les 2 images ronde*/
    #exposition .center .groupe_image2 {
      display: flex;
      justify-content: space-evenly;
      padding-top: 150px;
      flex-wrap: wrap;
    }
     
    /*Taille des 2 images rondes*/
    #exposition .center .groupe_image2 .photo {
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center center;
      height: 300px;
      width: 300px;
      text-align: center;
      color: white;
      border-radius: 200px;
    }


    JS
    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
    var images = []; //array
     
    //images
     
    images[0] = "url(/images/test1.jpg)";
    images[1] = "url(/images/test2.jpg)";
    images[2] = "url(/images/test3.jpg)";
    //function
     
    function changeImage() {
      var photo = document.getElementsByClassName("photo")[1];
      photo.style.backgroundImage = images[Math.floor(Math.random() * 3)];
    }
     
    window.onload = changeImage;

  6. #6
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    les boucles permettent de parcourir les tableaux et les listes en exécutant à chaque fois le même code.

    cela donne quelque chose comme ça :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    const toutes_les_balises_photo = document.querySelectorAll("#exposition .photo");
     
     
    toutes_les_balises_photo.forEach(photo => {
     
    	// ici le code est exécuté une fois pour chaque élément de la liste
    	// la variable photo contient d'abord le 1er élément ensuite le 2e élément de la liste, etc.
     
     
     
    })

Discussions similaires

  1. Réponses: 5
    Dernier message: 30/07/2017, 22h28
  2. [debutant] Comment ajouter des .class ?
    Par Slein dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 30/04/2004, 14h30
  3. Créer les get et set des classes
    Par cameleon2002 dans le forum JBuilder
    Réponses: 3
    Dernier message: 17/09/2003, 21h03
  4. specifier les chemins des .class
    Par draken dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 29/07/2003, 09h35
  5. Inserer des classes java existantes
    Par 2000 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 20/03/2003, 12h35

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