给遍历出来的三个div实现点击切换背景颜色
时间: 2024-02-26 14:56:22 浏览: 79
好的,可以使用JavaScript来实现。首先需要获取到这三个div元素,可以使用document.querySelectorAll()方法来获取,然后对获取到的元素进行遍历,为每个元素添加点击事件,事件触发时切换元素的背景颜色即可。
以下是示例代码:
```html
<!-- HTML代码 -->
<div>div 1</div>
<div>div 2</div>
<div>div 3</div>
```
```javascript
// JavaScript代码
var divs = document.querySelectorAll('div');
for (var i = 0; i < divs.length; i++) {
divs[i].addEventListener('click', function() {
this.style.backgroundColor = this.style.backgroundColor === 'red' ? '' : 'red';
});
}
```
这段代码会获取到所有的div元素,然后为每个元素添加点击事件。当点击某个div元素时,会判断该元素的背景颜色是否为红色,如果是则将背景颜色设为空,否则将背景颜色设为红色。这样就可以实现点击切换背景颜色的效果了。
相关问题
vue2中给遍历出来的三个div实现点击切换背景颜色
好的,可以使用Vue来实现。首先需要在Vue组件中定义一个data属性,用来存储每个div的背景颜色。然后在模板中使用v-for指令遍历出所有的div元素,为每个元素绑定点击事件,事件触发时切换该元素的背景颜色。
以下是示例代码:
```html
<!-- HTML代码 -->
<div id="app">
<div v-for="(div, index) in divs" :key="index" :style="{ backgroundColor: div.color }" @click="toggleColor(div)">
div {{ index + 1 }}
</div>
</div>
```
```javascript
// JavaScript代码
new Vue({
el: '#app',
data: {
divs: [
{ color: '' },
{ color: '' },
{ color: '' }
]
},
methods: {
toggleColor: function(div) {
div.color = div.color === 'red' ? '' : 'red';
}
}
});
```
这段代码会在Vue实例中定义一个data属性divs,用来存储每个div的背景颜色。在模板中使用v-for指令遍历出所有的div元素,为每个元素绑定点击事件。点击事件会调用toggleColor方法,该方法会判断当前元素的背景颜色是否为红色,如果是则将背景颜色设为空,否则将背景颜色设为红色。这样就可以实现点击切换背景颜色的效果了。
<div class="page" id="page1">页面一</div> <div class="page" id="page2">页面二</div> <div class="page" id="page3">页面三</div> <div class="yema"> <div class="aa"> <button onclick="page_1" class="btnprev" id="prev"> < </button> <ul class="paper"> <li class="number" onclick="page_1" id="page1">1</li> <li class="number" onclick="page_2" id="page2">2</li> <li class="number" onclick="page_3" id="page3">3</li> </ul> <button onclick="page_2" type="button" class="btn-next" id="next"> > </button> </div> </div> 实现页面切换,有上一页,页码和下一页的点击切换
您可以使用JavaScript来实现页面切换,以下是一个简单的示例代码:
HTML代码:
```html
<div class="page" id="page1">页面一</div>
<div class="page" id="page2">页面二</div>
<div class="page" id="page3">页面三</div>
<div class="yema">
<div class="aa">
<button onclick="prevPage()" class="btnprev" id="prev"><</button>
<ul class="paper">
<li class="number" onclick="goToPage(1)" id="page1">1</li>
<li class="number" onclick="goToPage(2)" id="page2">2</li>
<li class="number" onclick="goToPage(3)" id="page3">3</li>
</ul>
<button onclick="nextPage()" type="button" class="btn-next" id="next">></button>
</div>
</div>
```
JavaScript代码:
```javascript
var currentPage = 1; // 当前页码
function prevPage() {
if (currentPage > 1) {
currentPage--;
goToPage(currentPage);
}
}
function nextPage() {
if (currentPage < 3) {
currentPage++;
goToPage(currentPage);
}
}
function goToPage(page) {
currentPage = page;
for (var i = 1; i <= 3; i++) {
var pageDiv = document.getElementById("page" + i);
var pageLi = document.getElementById("page" + i);
if (i == page) {
pageDiv.style.display = "block";
pageLi.classList.add("active");
} else {
pageDiv.style.display = "none";
pageLi.classList.remove("active");
}
}
}
```
CSS代码:
```css
.yema {
text-align: center;
margin-top: 20px;
}
.paper {
display: inline-block;
margin: 0;
padding: 0;
}
.number {
display: inline-block;
margin: 0 5px;
padding: 5px 10px;
border: 1px solid #ccc;
cursor: pointer;
}
.number.active {
background-color: #ccc;
}
.btnprev,
.btn-next {
display: inline-block;
margin: 0 10px;
padding: 5px 10px;
border: 1px solid #ccc;
background-color: #f5f5f5;
cursor: pointer;
}
.btnprev:hover,
.btn-next:hover {
background-color: #ccc;
}
```
在这个示例代码中,我们使用了三个 `div` 元素作为页面容器,并给它们设置了不同的 `id` 属性。然后,在页面底部,我们创建了一个 `div` 元素作为页码容器,里面包含了一个“上一页”按钮、一个页码列表和一个“下一页”按钮。在JavaScript代码中,我们使用了三个函数来实现页面切换:`prevPage()`、`nextPage()` 和 `goToPage(page)`。`prevPage()`函数用于切换到上一页,`nextPage()`函数用于切换到下一页,`goToPage(page)`函数用于切换到指定的页码。我们还定义了一个全局变量`currentPage`,用于保存当前页码。在 `goToPage(page)` 函数中,我们使用了一个循环来遍历所有页面容器,并根据当前页码来显示或隐藏页面容器。同时,我们还给当前页码添加了 `.active` 样式,以便高亮显示。
最后,我们还定义了一些CSS样式来美化页面和页码容器。
您可以根据需要进行修改和调整。希望这个示例代码能够帮助到您!
阅读全文