小程序多个div点击其中一个变色
时间: 2023-09-07 13:04:40 浏览: 168
小程序中要实现多个div点击其中一个变色,可以按照以下步骤进行:
1. 在wxml文件中,使用<view>标签定义多个div,并设置相应的class和点击事件,如下所示:
```xml
<view class="div-item" bindtap="changeColor" data-index="0"></view>
<view class="div-item" bindtap="changeColor" data-index="1"></view>
<view class="div-item" bindtap="changeColor" data-index="2"></view>
```
这里给每个div都添加了一个class,用于CSS样式设置,并设置了相同的点击事件和data-index属性,用于区分不同的div。
2. 在对应的js文件中,编写相应的事件处理函数changeColor,通过data中的index参数获取点击的div的索引值,并修改对应的样式,如下所示:
```javascript
Page({
changeColor: function(e) {
var index = e.currentTarget.dataset.index;
var className = "div-item-" + index;
this.setData({
[className]: "div-active"
});
}
})
```
这里使用了事件对象e的currentTarget属性获取当前点击的div,通过dataset属性获取data-index的值,然后通过setData函数更新对应div的样式。
3. 在对应的wxss文件中,设置div的初始样式和点击后的样式,如下所示:
```css
.div-item {
width: 100px;
height: 100px;
background-color: #ccc;
margin-bottom: 10px;
}
.div-active {
background-color: #f00;
}
```
这里设置了.div-item类的初始样式,包括宽度、高度、背景颜色等,以及.div-active类的点击后样式,修改背景颜色为红色。
通过以上步骤,就可以实现小程序中多个div点击其中一个变色的效果。
阅读全文