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 :

Click class en css


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    apprenti
    Inscrit en
    Juillet 2014
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : apprenti
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2014
    Messages : 42
    Points : 39
    Points
    39
    Par défaut Click class en css
    Bonjour à tous;
    alors je vous explique je connais pas énormément le Javascript et je souhaiterai que lorsque l'on click sur une div class"A", la div de classe B" prend le Css de la class "C".

    Voici le code :
    HTML:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <div class="A"></div>
    <div class="B"></div>

    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
    .A{
    	width:50px;
    	height:50px;
    	background-color:#000000;
    }
    .B{
    	width:100px;
    	height:100px;
    	background-color:#FF0004;
    }
    .C{
    	width:150px;
    	height:150px;
    	background-color:#12FF00;
    }


    Et il faut faut obligatoirement des class et non des Id.

    Merci beaucoup de votre aide !

  2. #2
    Membre expérimenté
    Homme Profil pro
    bricoleur par les mots
    Inscrit en
    Avril 2015
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : bricoleur par les mots
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2015
    Messages : 726
    Points : 1 631
    Points
    1 631
    Par défaut
    jour

    utilise document.GetElementsByclassName

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    apprenti
    Inscrit en
    Juillet 2014
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : apprenti
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2014
    Messages : 42
    Points : 39
    Points
    39
    Par défaut
    Je n'ai pas compris ou je ne sais pas l'utiliser.
    J'ai fait ça: https://jsfiddle.net/Lxdt0nyy/5/
    Tu pourrais me le corriger stp ça serait sympa
    Merci

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    1. JavaScript est un peu plus binaire que les humains. Si tu fais des fautes d'orthographes en français, un humain arrive généralement à te comprendre, si tu fais des fautes d'orthographe en JavaScript, l'interpréteur ne comprend pas ce que tu veux dire, bref, GetElementsByclassName() != getElementsByClassName().

    2. Quand tu utilises une fonction que tu ne connais pas, la première chose à faire est de se renseigner sur sa signature : la nature des paramètres attendus et ce qu'elle renvoie comme valeur.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    apprenti
    Inscrit en
    Juillet 2014
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : apprenti
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2014
    Messages : 42
    Points : 39
    Points
    39
    Par défaut
    Je suis de plus en plus perdu

    Je dois changer quoi dans mon code parce que je l'ai fais avec les 2 écriture et les deux ne marchent pas.

    Voici le code sur Fiddle ==> https://jsfiddle.net/Lxdt0nyy/6/

    Merci

  6. #6
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2015
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2015
    Messages : 107
    Points : 139
    Points
    139
    Par défaut
    Bonjour,

    Quand tu testes du JavaScript, tu as deux choix :
    console.log(cequetuveux);
    ou bien
    alert(cequetuveux);

    Dans ton cas, cequetuveux correspond au résultat de getElementsByClassName. Avant d'utiliser une fonction de manière totalement aléatoire, vérifie ce qu'elle te retourne (pour reprendre le conseil de Bovino).

    Une fois que tu auras compris ce que tu récupère avec getElementsByClassName, tu pourras faire un code qui fonctionne correctement.

  7. #7
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Probablement parce que tu n'as pas tenu compte du deuxième point de mon précédent message.
    D'autre part, que fait cette virgule après la déclaration de test2 ?

    Aussi, pour commencer à déboguer en JavaScript, il faut ouvrir sa console d'erreur (F12 ou CTRL + MAJ + K selon le navigateur) et regarder les messages d'erreur.

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    apprenti
    Inscrit en
    Juillet 2014
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : apprenti
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2014
    Messages : 42
    Points : 39
    Points
    39
    Par défaut
    Oui j'ai bien compris.

    Alors j'ai réussit mais que avec des "id"

    Comme voici ====> https://jsfiddle.net/Lxdt0nyy/7/

    Mais j'aimerai qu'a la place des "id" ce sois des "class"

    SVP j'ai besoin de votre aide ,
    Il y a t'il quelqu'un d'emable pour me coriger mon code sur fiddle svp

  9. #9
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 122
    Points : 44 914
    Points
    44 914
    Par défaut
    Bonjuor,
    sur base de ce que tu as mis comme code
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <div id="A"></div>
    <div class="B"></div>
    il te faut utilise la méthode document.querySelector.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var test = document.getElementById('A');
     
    test.onclick = function(){
      var oElement = document.querySelector('.B');
      oElement.classList.toggle('C');
    }
    et si tu as plusieurs éléments avec la même classe
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <div id="A"></div>
    <div class="B"></div>
    <div class="B"></div>
    tu dois utiliser la méthode document.querySelectorAll
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var test = document.getElementById('A');
     
    test.onclick = function(){
      var oListElements = document.querySelectorAll('.B');
      // on boucle sur la liste des éléments retournés
      for( var i =0; i < oListElement.length; i++){
        oListElements[i].classList.toggle('C');
      }
    }
    à vérifier quand même la compatibilité navigateur que tu souhaites.

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    apprenti
    Inscrit en
    Juillet 2014
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : apprenti
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2014
    Messages : 42
    Points : 39
    Points
    39
    Par défaut
    Merci merci merci merci merci !!!

    C'est exactement ce qu'il me fallait c'est vraiment sympa !

  11. #11
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 122
    Points : 44 914
    Points
    44 914
    Par défaut
    ceci dit tu avais toutes les billes pour y arriver avec la méthode getElementsByClassName(), comme il t'a été expliqué tout au long de cette discussion, et les conseils prodigués restent valables

  12. #12
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Le problème, quand on fourni un code prêt à copier / coller, c'est que celui qui l'utilise ne prend bien souvent même pas la peine d'essayer de le comprendre...
    La preuve : http://www.developpez.net/forums/d15...s-meme-classe/.

  13. #13
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 122
    Points : 44 914
    Points
    44 914
    Par défaut
    Je suis tout à fait d'accord avec toi car après avoir lu la réponse j'ai repris attentivement la discussion et me suis rendu compte que ma présentation des deux solutions risquait d'être prise pour argent contant sans plus de réflexion ...et... je me moinse, tiens il n'y a pas de smiley, car j'aurais du lire attentivement avant et non après.
    donc , et bien mérités.

    Le pire c'est que cela n'a servi à rien

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

Discussions similaires

  1. paramétrage de la Classe Hover CSS
    Par chakib123 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 01/10/2013, 11h41
  2. Declarer une classe style css
    Par Palsajicoco dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 28/04/2011, 14h19
  3. [css]Sortir d'une classe en css
    Par tiger33 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 12/09/2006, 15h42
  4. modele de classe en CSS
    Par guigui_rondat dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 01/02/2006, 17h41
  5. Héritage d'une classe en css
    Par picomz dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 27/12/2005, 16h10

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