js四个盒子,点击1变色,点击2变色1回复原来的颜色
时间: 2024-01-03 18:05:48 浏览: 22
这个问题涉及到网页开发中的DOM操作和事件绑定,其实并不是关于JS四个盒子的问题。我可以给你提供一个简单的实现思路,你可以将其应用到你的具体情况中。
首先,你需要给这四个盒子添加一个共同的类名,比如 "box",然后用JS获取所有的 "box" 元素,并分别添加事件监听器。
当点击第一个盒子时,你可以使用事件对象的 "target" 属性获取到当前被点击的元素,然后给它添加一个新的类名,比如 "active",并且移除其他所有 "box" 元素的 "active" 类名。
当点击第二个盒子时,你同样可以使用事件对象的 "target" 属性获取到当前被点击的元素,然后移除它自己的 "active" 类名即可。
以下是一个示例代码:
```
// 获取所有的 "box" 元素
var boxes = document.querySelectorAll('.box');
// 遍历所有的 "box" 元素,并分别添加事件监听器
for (var i = 0; i < boxes.length; i++) {
boxes[i].addEventListener('click', function(event) {
// 如果被点击的是第一个盒子
if (event.target === boxes[0]) {
// 给它添加 "active" 类名
event.target.classList.add('active');
// 移除其他所有盒子的 "active" 类名
for (var j = 1; j < boxes.length; j++) {
boxes[j].classList.remove('active');
}
}
// 如果被点击的是第二个盒子
else if (event.target === boxes[1]) {
// 移除它自己的 "active" 类名
event.target.classList.remove('active');
}
});
}
```
你可以将这段代码放到你的网页脚本中,然后在CSS中定义 ".box" 和 ".active" 类的样式即可实现你所需的功能。