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

  1. #1
    Nouveau membre du Club
    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
    Points : 38
    Points
    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 681
    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 681
    Points : 5 221
    Points
    5 221
    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
    Nouveau membre du Club
    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
    Points : 38
    Points
    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 681
    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 681
    Points : 5 221
    Points
    5 221
    Par défaut
    coquille de ma part (mais tu pouvais la voir facilement!): il faut nommer la classe "changer" et non "change"...

  5. #5
    Nouveau membre du Club
    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
    Points : 38
    Points
    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 681
    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 681
    Points : 5 221
    Points
    5 221
    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...

  7. #7
    Nouveau membre du Club
    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
    Points : 38
    Points
    38
    Par défaut
    le background se change si l'un des deux div paraître et s'ils ne sont pas paraître le background se change
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
            if (hardSkills.style.display === "none") { 
              body.style.background = "rgba(0, 0, 0, 0.26)";
     
            } else {
     
            body.style.background = "#E9EAEF";
            }

  8. #8
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    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 681
    Points : 5 221
    Points
    5 221
    Par défaut
    Je te mets un exemple de ce que tu peux obtenir:
    http://javatwist.imingo.net/switchbutton.htm

    - J'ajoute ces 3 définitions CSS, pour switcher les div, le fond de page et le bouton cliqué:
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    .changer{display: none;}
    .fond{background:rgba(0, 0, 0, 0.26);}
    .bout{background:red;}

    - J'enlève ton <body id="body"> qui fait un peu peur;

    - Je donne à tes deux boutons un attribut value qui correspond à l'id du div:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <button value="hard-skills">hard skills</button>
    <button value="agilePM">agile PM</button>

    - Je lance le script:
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    document.querySelectorAll(".col-md-5 > button").forEach((v,i,t)=>{
    	v.addEventListener("click",()=> {
    		document.getElementById(v.value).classList.toggle("changer");
    		let other=!t[i+1]?t[i-1]:t[i+1];
    		v.classList.toggle("bout");
    		other.classList.remove("bout");
    		document.getElementById(other.value).classList.add("changer");
    		if(!document.getElementById(v.value).classList.contains("changer")){
    			document.body.classList.add("fond");
    		}
    		else{
    			document.body.classList.remove("fond");
    		};
    	})
    })

  9. #9
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    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 681
    Points : 5 221
    Points
    5 221
    Par défaut
    Même principe sans limitation de boutons;
    http://javatwist.imingo.net/switchbutton2.htm

  10. #10
    Nouveau membre du Club
    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
    Points : 38
    Points
    38
    Par défaut
    MERCI BEAUCOUP!

  11. #11
    Nouveau membre du Club
    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
    Points : 38
    Points
    38
    Par défaut
    et si le bouton est 5 comment le fait dans le javascript, j'ai déjà essayé en trois bouton mais je n'arrive pas, merci de votre aide

  12. #12
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    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 681
    Points : 5 221
    Points
    5 221
    Par défaut
    Tu rigoles? Je pensais que tu avais regardé le code de ma 2e page... Que ce soit 2 ou 10 boutons, c'est le même code.

  13. #13
    Nouveau membre du Club
    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
    Points : 38
    Points
    38
    Par défaut
    non, je ne rigole pas du tout, je pense que le problème vient du code javascript

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    let other = !t[i + 1] ? t[i - 1] : t[i + 1];
    et l'ensemble du code comme ça:

    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
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    <!DOCTYPE html>
    <!-- saved from url=(0044)http://javatwist.imingo.net/switchbutton.htm -->
    <html lang="fr">
     
    <head>
      <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
     
      <title></title>
      <style>
        body {
          background: #E9EAEF;
        }
     
        #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;
        }
     
        #soft-skills {
          background: #F2F2F7;
          border-radius: 20px;
          width: 355px !important;
          height: 285px;
          border-radius: 0px 0px 20px 20px;
        }
     
        #langue {
          background: #F2F2F7;
          border-radius: 20px;
          width: 355px !important;
          height: 285px;
          border-radius: 0px 0px 20px 20px;
        }
     
        #engagement {
          background: #F2F2F7;
          border-radius: 20px;
          width: 355px !important;
          height: 285px;
          border-radius: 0px 0px 20px 20px;
        }
     
     
        .rectangle-1949 {
          width: 340px;
          height: 13px;
          background: #FFCC00;
          transform: rotate(-180deg);
        }
     
        .fond {
          background: rgba(0, 0, 0, 0.26);
        }
     
        .bout {
          background: red;
        }
     
        .changer {
          display: none;
        }
      </style>
    </head>
     
    <body class="">
      <div class="row">
     
        <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 id="soft-skills" class="changer">
            <div class="rectangle-1949">
            </div>
     
              <p>
                Il te faudra être assidue, professionnel, de travailler en équipe, de
                communiquer et
                d’être organisé.
              </p> Tu seras évalué sur 5 niveaux différents : mauvais, pauvre,
              juste, bon
              et excellent.
          </div>
     
     
     
          <div id="langue" class="changer">
            <div class="rectangle-1949">
            </div>
              On attendra de toi d’avoir un bon vocabulaire, parler assez fort, avoir
              confiance dans
              ce que tu dis, prononcer correctement et imbattable sur la grammaire et
              l’orthographe.
              Tu seras évalué sur 5 niveaux différents : Les bases, travail limité, efficient,
              professionnel et native bilingue.
     
          </div>
     
          <div id="engagement" class=" changer">
            <div class="rectangle-1949">
            </div>
              <p>
                On attendra de toi d’être impliqué, volontaire, concerné, confiant en toi et
                être
                proactive.
              </p> Tu seras évalué sur 5 niveaux différents : Novice, débutant,
              intermédiaire,
              avancé et expert.
          </div>
        </div>
        <div id="btn-selection" class="col-md-5">
     
          <button value="hard-skills" class="">hard skills</button>
          <button value="agilePM">agile PM</button>
          <button value="soft-skills" class="">soft skills</button>
          <button value="langue">langue</button>
          <button value="engagement" class="">engagement</button>
        </div>
     
      </div>
      <script>
     
        document.querySelectorAll("#btn-selection > button").forEach((v, i, t) => {
          v.addEventListener("click", () => {
            document.getElementById(v.value).classList.toggle("changer");
            let other = !t[i + 1] ? t[i - 1] : t[i + 1];
            v.classList.toggle("bout");
            other.classList.remove("bout");
            document.getElementById(other.value).classList.add("changer");
            if (!document.getElementById(v.value).classList.contains("changer")) {
              document.body.classList.add("fond");
            }
            else {
              document.body.classList.remove("fond");
            };
          })
        })
     
      </script>
     
     
     
     
    </body>
     
    </html>

  14. #14
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    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 681
    Points : 5 221
    Points
    5 221
    Par défaut
    Donc, en clair, voici le code de la page:

    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
    <!DOCTYPE html>
    <html lang="fr">
    <head>
    <meta charset="UTF-8">
    <title></title>
    <style>
     
    body{background: #e9eaef;}
    #textes{display:none;}
     
    .fond{background:rgba(0, 0, 0, 0.26);}
    .bout{background:red;}
    .changer{display: none;}
     
    </style>
    </head>
     
    <body>
     
    <div id="textes">
    <div id="concept">blablabla concept</div>
    <div id="chose">blablabla chose</div>
    <div id="bidule">blablabla bidule</div>
    <div id="truc">blablabla truc</div>
    <div id="machin">blablabla machin</div>
    <div id="phénomène">blablabla phénomène</div>
    <div id="entité">blablabla entité</div>
    </div>
     
    <div id="boutons">
          <button value="concept">un concept</button>
          <button value="chose">une chose</button>
          <button value="bidule">un bidule</button>
          <button value="truc">un truc</button>
          <button value="machin">un machin</button>
          <button value="phénomène">un phénomène</button>
          <button value="entité">une entité</button>
    </div>
     
    <script>
            
    window.addEventListener("DOMContentLoaded",()=>{
            const b=document.querySelectorAll("#boutons>button");
            b.forEach(v=>{
                    document.getElementById(v.value).classList.add("changer");
                    v.addEventListener("click",()=> {
                            document.getElementById(v.value).classList.toggle("changer");
                            b.forEach(v2=>{
                                    if(v2!=v){
                                            v2.classList.remove("bout");
                                            document.getElementById(v2.value).classList.add("changer");
                                    }
                            });
                            v.classList.toggle("bout");
                            if(!document.getElementById(v.value).classList.contains("changer")){
                                    document.body.classList.add("fond");
                            }
                            else{
                                    document.body.classList.remove("fond");
                            };
                    })
            });     
            document.getElementById("textes").style.display="block";
    })  
    </script>
     
      </body>
     
    </html>
    Tu as juste à écrire le texte que tu veux dans tes div...

+ 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