我想通过点击按钮更改div的背景颜色。
我有3种不同颜色的3个不同按钮。使用这些按钮我想改变我的"敌人"。
的颜色
#Enemy {
border-radius: 25px/25px;
width: 25px;
height: 25px;
position: absolute;
top: 0;
left: 200;
z-index: 2;
color: blue;
background: black;
}

<div id='Enemy'></div>
<div id="EnemyColours">
<h1>Enemy Colour</h1>
<button type="button" name="bgcE" value="purple">paars</button>
<button type="button" name="bgcE" value="brown">bruin</button>
<button type="button" name="bgcE" value="orange">oranje</button>
</div>
&#13;
答案 0 :(得分:1)
仅使用JavaScript,您只需要将click
事件与所有按钮相关联,如下所示:
document.querySelectorAll("#EnemyColours button").forEach(function(btn) {
btn.addEventListener("click", function() {
document.getElementById("Enemy").style.backgroundColor = this.value;
});
});
它使用document.querySelectorAll("#EnemyColours button")
来获取所有按钮,然后循环遍历它们并附加一个单击处理函数,该函数使用每个按钮value
作为background-color
div的Enemy
。
<强>演示:强>
document.querySelectorAll("#EnemyColours button").forEach(function(btn) {
btn.addEventListener("click", function() {
document.getElementById("Enemy").style.backgroundColor = this.value;
});
});
#Enemy {
border-radius: 25px/25px;
width: 25px;
height: 25px;
position: absolute;
top: 0;
left: 200;
z-index: 2;
color: blue;
background: black;
}
<div id='Enemy'>Enemy</div>
<div id="EnemyColours">
<h1>Enemy Colour</h1>
<button type="button" name="bgcE" value="purple">paars</button>
<button type="button" name="bgcE" value="brown">bruin</button>
<button type="button" name="bgcE" value="orange">oranje</button>
</div>
答案 1 :(得分:0)
你可以这样做,假设你想保持按钮的名称相同。
获取所有按钮并为每个按钮添加事件监听器,如下所示。
var buttons = document.getElementsByName("bgcE");
for (var i = 0, len = buttons.length; i < len; i++) {
buttons[i].addEventListener("click", function(){
document.getElementById("Enemy").style.backgroundColor = this.value;
});
}
检查小提琴here。