Merci.
html:
<body>
<div id="box"></div>
<button id="yes">yes</button>
<button id="no">no</button>
<script src="js/script.js"></script>
</body>
css:
#box {
width: 200px;
height: 200px;
background-color: red;
}
js:
function Choice () {
var box = document.getElementById("box");
var yes = document.getElementById("yes");
var no = document.getElementById("no");
if (yes.clicked == true) {
box.style.backgroundColor = "red";
} else if (no.clicked == true) {
box.style.backgroundColor = "green";
} else {
box.style.backgroundColor = "purple";
};
};
Choice ();
Vous devez utiliser la méthode onclick car la fonction est exécutée une fois lorsque la page est chargée et aucun bouton ne sera cliqué ensuite.
Donc, vous devez ajouter un même qui à chaque fois que l'utilisateur appuie sur une touche pour ajouter les modifications à l'arrière-plan div
Donc, la fonction devrait être quelque chose comme ça
htmlelement.onclick() = function(){
//Do the changes
}
Donc, votre code doit ressembler à quelque chose comme ça:
var box = document.getElementById("box");
var yes = document.getElementById("yes");
var no = document.getElementById("no");
yes.onclick = function(){
box.style.backgroundColor = "red";
}
no.onclick = function(){
box.style.backgroundColor = "green";
}
Cela signifie que lorsque le bouton #yes est cliqué, la couleur de la division est rouge et lorsque le bouton #no est cliqué, l'arrière-plan est vert.
Voici un Jsfiddle
La méthode moderne recommandée consiste à utiliser addEventListener
en ajoutant l'écouteur d'événements directement à l'élément ou à un parent de ces éléments (délégué).
Un exemple, utilisant des événements délégués, pourrait être
var box = document.getElementById('box');
document.getElementById('buttons').addEventListener('click', function(evt) {
var target = evt.target;
if (target.id === 'yes') {
box.style.backgroundColor = 'red';
} else if (target.id === 'no') {
box.style.backgroundColor = 'green';
} else {
box.style.backgroundColor = 'purple';
}
}, false);
#box {
width: 200px;
height: 200px;
background-color: red;
}
#buttons {
margin-top: 50px;
}
<div id='box'></div>
<div id='buttons'>
<button id='yes'>yes</button>
<button id='no'>no</button>
<p>Click one of the buttons above.</p>
</div>
Vous pouvez utiliser jQuery comme
$('#yesh').click(function(){
*****HERE GOES THE FUNCTION*****
});
En plus, jQuery est facile à utiliser.
Vous pouvez modifier les couleurs, etc. à l'aide de jQUery ou Javascript.
vous appelez une fonction au moment du chargement de la page mais n’appelez pas l’événement du bouton, vous devrez appeler la fonction onclick
function Choice(elem) {
var box = document.getElementById("box");
if (elem.id == "no") {
box.style.backgroundColor = "red";
} else if (elem.id == "yes") {
box.style.backgroundColor = "green";
} else {
box.style.backgroundColor = "purple";
};
};
<div id="box">dd</div>
<button id="yes" onclick="Choice(this);">yes</button>
<button id="no" onclick="Choice(this);">no</button>
<button id="other" onclick="Choice(this);">other</button>
ou liaison d'événement,
window.onload = function() {
var box = document.getElementById("box");
document.getElementById("yes").onclick = function() {
box.style.backgroundColor = "red";
}
document.getElementById("no").onclick = function() {
box.style.backgroundColor = "green";
}
}
<div id="box">dd</div>
<button id="yes">yes</button>
<button id="no">no</button>