定义一个积分值,给这两个按钮增加触发事件,点击转发按钮增加积分2分,点赞按钮则增加积分1分,同时按钮事件触发时按钮变色
时间: 2024-09-25 15:10:49 浏览: 42
在微信小程序中,你可以通过修改`bindtap`属性来关联按钮的点击事件,并使用`setData`方法更改组件的数据状态。对于积分计算和按钮变色效果,可以这样做:
**index.js**
```javascript
Page({
data: {
integral: 0, // 初始积分值
shareButtonColor: 'gray', // 转发按钮初始颜色
heartButtonColor: 'gray', // 点赞按钮初始颜色
},
forwardAction: function(e) {
this.setData({
integral: this.data.integral + 2, // 增加积分2分
shareButtonColor: 'success', // 转发按钮变为绿色(成功)
});
},
likeAction: function(e) {
this.setData({
integral: this.data.integral + 1, // 增加积分1分
heartButtonColor: 'success', // 点赞按钮变为绿色(成功)
});
},
})
```
**index.wxml**
```html
<button bindtap="forwardAction" class="{{integral >= 2 ? 'share-button success' : 'share-button gray'}}">转发</button>
<button bindtap="likeAction" class="{{integral >= 1 ? 'heart-button success' : 'heart-button gray'}}">点赞</button>
```
**index.wxss**
```css
.share-button, .heart-button {
/* ... */
color: white;
transition: background-color 0.3s ease; // 添加渐变动画
}
.success {
background-color: green;
}
```
当用户点击转发或点赞按钮,积分会相应增加并改变按钮颜色。如果积分不足显示阈值(例如2分),按钮将保持默认灰色。
阅读全文