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 :

Changer le backGround au click sur un bouton


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 38
    Par défaut Changer le backGround au click sur un bouton
    bonjour, je voudrais une page html et il y a plusieurs bouton quand on clique sur l'un d'eux il y a un class div qui paraître et le background change et si on re clique le même bouton le background change à nouveau et le div se disparaître, mon problème est le background ne rechange plus, aidez-moi s'il vous plaît
    mon code est comme ce-ci
    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    <!DOCTYPE html>
    <html>
     
    <head>
      <meta name="viewport" content="width=device-width, initial-scale=1">
     
      <link rel="stylesheet" href="./style.css">
      <link rel="stylesheet" href="./bootstrap/css/bootstrap.min.css">
      <style>
      </style>
    </head>
    <span for="" class="ton-code ton-code-devra-etre center-block text-center">
     
      <body id="body">
     
        <div class="col-md-4">
     
          <div id="hard-skills">
            <div class=" rectangle-1949">
            </div>
            <p>
              Ton code devra être fonctionnel, claire, performant, bien écrit et lisible.
            </p>
            Tu seras évalué sur 5 niveaux différents : mauvais, pauvre, juste, bon et
            excellent.
          </div>
     
          <div id= "agilePM">
            <div class=" rectangle-1949">
            </div>
     
            <p>
              On attendra de toi d’être ouvert, respectueux, courageux, rigoureux et
              concentré.
          </p>
          <p>
     
              Tu seras évalué sur 5 niveaux différents : mauvais, pauvre, juste, bon et
              excellent.
     
          </p>
          </div>
     
        </div>
        <div class="col-md-5">
     
          <button onclick="myFunction()">hard skills</button>
          <button onclick="agileFunction()">agile PM</button>
        </div>
        <script>
          var hardSkills = document.getElementById("hard-skills");
          var agilePM = document.getElementById("agilePM");
          var body = document.getElementById("body");
          function myFunction() {
            if (hardSkills.style.display === "none") {
              hardSkills.style.display = "block";
              agilePM.style.display = "none";
              body.style.background = rgba(0, 0, 0, 0.26);
            } else {
              body.style.background = "#E9EAEF";
              hardSkills.style.display = "none";
              agilePM.style.display = "none"; 
            }
          }
           function agileFunction() {
            if (agilePM.style.display === "none") {
              agilePM.style.display = "block";
              hardSkills.style.display = "none";
              body.style.background = rgba(0, 0, 0, 0.26);
            } else {
              body.style.background = "#E9EAEF";
              agilePM.style.display = "none";
              hardSkills.style.display = "none";
            }
          } 
        </script>
     
      </body>
     
    </html>


    mon css

    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
    28
    29
    30
    31
    32
    33
    34
    body{
        background: #E9EAEF;
    }
     
    #hard-skills {
        display: none;
        background: #F2F2F7;
        border-radius: 20px;
        width: 355px !important;
        height: 285px;
        border-radius: 0px 0px 20px 20px;
      }
     
     
    #agilePM {
        display: none;
        background: #F2F2F7;
        border-radius: 20px;
        width: 355px !important;
        height: 285px;
        border-radius: 0px 0px 20px 20px;
      }
     
     
    /* Rectangle 1949 */
     
    .rectangle-1949{
        /* margin-top: 12%; */
        /* position: absolute; */
        width: 340px;
        height: 13px;
        background: #FFCC00;
        transform: rotate(-180deg);
    }

  2. #2
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    Petit conseil:

    Crée une classe change, en dehors de la définition css des 2 div;

    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    .change{display: none;}

    Affecte cette classe aux 2 éléments

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <div id="hard-skills" class="changer">
     
    <div id="agilePM" class="changer">

    Retire display:none de la définition css des 2 div;

    Simplifie ton script comme ça (et ce n'est qu'un tout petit début):
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function myFunction() {
    	document.getElementById("hard-skills").classList.toggle("changer")
    	document.body.classList.toggle("mut")
    }
    function agileFunction() {
    	document.getElementById("agilePM").classList.toggle("changer")
    	document.body.classList.toggle("mut")
    }

    Tu auras à peu près ce que tu veux!

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 38
    Par défaut
    merci pour la réponse, ça ne marche pas, j'ai fait

    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    <!DOCTYPE html>
    <html>
     
    <head>
      <meta name="viewport" content="width=device-width, initial-scale=1">
     
      <link rel="stylesheet" href="./css/style.css">
      <link rel="stylesheet" href="./bootstrap/css/bootstrap.min.css">
      <style>
      </style>
    </head>
    <span for="" class="ton-code ton-code-devra-etre center-block text-center">
     
      <body id="body">
     
        <div class="col-md-4">
     
          <div id="hard-skills" class="changer">
            <div class=" rectangle-1949">
            </div>
            <p>
              Ton code devra être fonctionnel, claire, performant, bien écrit et lisible.
            </p>
            Tu seras évalué sur 5 niveaux différents : mauvais, pauvre, juste, bon et
            excellent.
          </div>
     
          <div id= "agilePM" class="changer">
            <div class=" rectangle-1949">
            </div>
     
            <p>
              On attendra de toi d’être ouvert, respectueux, courageux, rigoureux et
              concentré.
          </p>
          <p>
     
              Tu seras évalué sur 5 niveaux différents : mauvais, pauvre, juste, bon et
              excellent.
     
          </p>
          </div>
     
        </div>
        <div class="col-md-5">
     
          <button onclick="myFunction()">hard skills</button>
          <button onclick="agileFunction()">agile PM</button>
        </div>
        <script>
          var hardSkills = document.getElementById("hard-skills");
          var agilePM = document.getElementById("agilePM");
          var body = document.getElementById("body");
          function myFunction() {
           /*  if (hardSkills.style.display === "none") { */
              document.getElementById("hard-skills").classList.toggle("changer")
              document.body.classList.toggle("mut")
              
            /* } else {
              
            body.style.background = "#E9EAEF";
            hardSkills.style.display = "none";
            agilePM.style.display = "none"; 
            } */
          }
          function agileFunction() {
            document.getElementById("agilePM").classList.toggle("changer")
            document.body.classList.toggle("mut")
          }
        </script>
     
      </body>
     
    </html>



    et mon css
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    body{
      background : "#E9EAEF"
    }
     
     
     
     
    .change{
      display: none;
    }
     
    #hard-skills {
        background: #F2F2F7;
        border-radius: 20px;
        width: 355px !important;
        height: 285px;
        border-radius: 0px 0px 20px 20px;
      }
     
     
    #agilePM {
        background: #F2F2F7;
        border-radius: 20px;
        width: 355px !important;
        height: 285px;
        border-radius: 0px 0px 20px 20px;
      }
     
     
    /* Rectangle 1949 */
     
    .rectangle-1949{
        /* margin-top: 12%; */
        /* position: absolute; */
        width: 340px;
        height: 13px;
        background: #FFCC00;
        transform: rotate(-180deg);
    }

  4. #4
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    coquille de ma part (mais tu pouvais la voir facilement!): il faut nommer la classe "changer" et non "change"...

  5. #5
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 38
    Par défaut
    Citation Envoyé par javatwister Voir le message
    coquille de ma part (mais tu pouvais la voir facilement!): il faut nommer la classe "changer" et non "change"...
    le problème avec ce code est le deuxième clique, le background ne change plus,
    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    <!DOCTYPE html>
    <html>
     
    <head>
      <meta name="viewport" content="width=device-width, initial-scale=1">
     
      <link rel="stylesheet" href="./css/style.css">
      <link rel="stylesheet" href="./bootstrap/css/bootstrap.min.css">
      <style>
      </style>
    </head>
    <span for="" class="ton-code ton-code-devra-etre center-block text-center">
     
      <body id="body">
     
        <div class="col-md-4">
     
          <div id="hard-skills" class="changer">
            <div class=" rectangle-1949">
            </div>
            <p>
              Ton code devra être fonctionnel, claire, performant, bien écrit et lisible.
            </p>
            Tu seras évalué sur 5 niveaux différents : mauvais, pauvre, juste, bon et
            excellent.
          </div>
     
          <div id= "agilePM" class="changer">
            <div class=" rectangle-1949">
            </div>
     
            <p>
              On attendra de toi d’être ouvert, respectueux, courageux, rigoureux et
              concentré.
          </p>
          <p>
     
              Tu seras évalué sur 5 niveaux différents : mauvais, pauvre, juste, bon et
              excellent.
     
          </p>
          </div>
     
        </div>
        <div class="col-md-5">
     
          <button onclick="myFunction()">hard skills</button>
          <button onclick="agileFunction()">agile PM</button>
        </div>
        <script>
          var hardSkills = document.getElementById("hard-skills");
          var agilePM = document.getElementById("agilePM");
          var body = document.getElementById("body");
          function myFunction() {
           /*  if (hardSkills.style.display === "none") { */
              document.getElementById("hard-skills").classList.toggle("changer")
              document.body.classList.toggle("mut");
              body.style.background = "rgba(0, 0, 0, 0.26)";
              
            /* } else {
              
            body.style.background = "#E9EAEF";
            hardSkills.style.display = "none";
            agilePM.style.display = "none"; 
            } */
          }
          function agileFunction() {
            document.getElementById("agilePM").classList.toggle("changer")
            document.body.classList.toggle("mut");
            body.style.background = "rgba(0, 0, 0, 0.26)";
          }
        </script>
     
      </body>
     
    </html>


    le css comme ca
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    #body{
      background: #E9EAEF;
    }
     
     
     
     
    .changer{
      display: none;
    }
     
    #hard-skills {
        background: #F2F2F7;
        border-radius: 20px;
        width: 355px !important;
        height: 285px;
        border-radius: 0px 0px 20px 20px;
      }
     
     
    #agilePM {
        background: #F2F2F7;
        border-radius: 20px;
        width: 355px !important;
        height: 285px;
        border-radius: 0px 0px 20px 20px;
      }
     
     
    /* Rectangle 1949 */
     
    .rectangle-1949{
        width: 340px;
        height: 13px;
        background: #FFCC00;
        transform: rotate(-180deg);
    }
    quand le rectangle 1950 est none le background ne devient pas

  6. #6
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    oui j'ai bien vu que tout n'était pas résolu et je n'avais pas tenu compte de l'alternance des 2 div (l'un ou l'autre est visible);

    Pour ton background, tu veux qu'il ait une couleur spécifique quand au moins 1 des 2 div est visible; ce n'est pas logique puisque dès que tu cliques une première fois sur un bouton, au moins 1 des 2 div sera visible, jusqu'à la fin de la session...
    Vois-tu le souci? ça ne sert à rien de vouloir changer à chaque fois le background...

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

Discussions similaires

  1. SDI - changer de vue en cliquant sur un bouton
    Par Psykotik dans le forum MFC
    Réponses: 3
    Dernier message: 29/11/2005, 16h09
  2. Détecter click sur le bouton de l'application dans Taskbar
    Par bob2553 dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 22/08/2005, 22h34
  3. Réponses: 2
    Dernier message: 26/07/2005, 15h35
  4. Automatiser le click sur le bouton d'un msgbox
    Par rootdaoud dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 26/05/2005, 10h31
  5. click sur le bouton + de jdbnavtoolbar
    Par hamido dans le forum JBuilder
    Réponses: 4
    Dernier message: 28/05/2004, 00h10

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