微信小程序實現星級評分
更新時間:2021年11月16日 15:25:03 作者:Angel_moon777
這篇文章主要為大家詳細介紹了微信小程序實現星級評分,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了微信小程序實現星級評分的具體代碼,供大家參考,具體內容如下

第一種方法:
WXML代碼:
<view>
星級評分
</view>
<view>
<block class="brightStars">
<image data-index='0' data-no="{{item}}" wx:for="{{starsBox}}" bindtap="changePic" wx:key="index" src="{{flag[0]>=item? '../img/starFull.png' : '../img/star.png'}}"></image>
</block>
<view class="texts">{{startext[0]}}</view>
</view>
JS代碼:
Page({
data: {
flag: [0, 0, 0],
startext: ['', '', '', ],
starsBox: [1, 2, 3, 4, 5]
},
changePic: function (e) {
var index = e.currentTarget.dataset.index;
console.log(index,'-');
var num = e.currentTarget.dataset.no;
console.log(num);
var a = 'flag[' + index + ']';
console.log(a);
var b = 'startext[' + index + ']';
console.log(b);
var that = this;
if (num == 1) {
that.setData({
[a]: 1,
[b]: '非常不滿意'
});
} else if (num == 2) {
that.setData({
[a]: 2,
[b]: '不滿意'
});
} else if (num == 3) {
that.setData({
[a]: 3,
[b]: '一般'
});
} else if (num == 4) {
that.setData({
[a]: 4,
[b]: '滿意'
});
} else if (num == 5) {
that.setData({
[a]: 5,
[b]: '非常滿意'
});
}
},
})
WXSS代碼:
.container{
display: flex;
flex-direction: row;
padding: 0;
flex-wrap: nowrap;
}
image{
width: 50px;
height: 50px;
}
第二種方法:
WXML內容:
<view>星級評分</view>
<block wx:for="{{starYesNum}}" wx:key="index">
<image bindtap="selectStar" id='{{index+1}}' data-in='selectStarYes' src='../../static/img/starY.png'></image>
</block>
<block wx:for="{{starNoNum}}" wx:key="index">
<image bindtap='selectStar' id='{{index+1}}' data-in='selectStarNo' src='../../static/img/starN.png'></image>
</block>
<view>{{starYesNum}}星</view>
第一個block標簽內是亮星星的盒子
第二個block標簽內是不亮星星的盒子
通過改變亮星星的數量和不亮星星的數量實現星級
JS代碼:
Page({
data: {
starYesNum:0, //點亮的星星數量
starNoNum:5, //不點亮的星星數量
},
selectStar:function(e){
console.log(e.target.id);
console.log(e.currentTarget.dataset.in);
//判斷點擊的星星是亮的星星還是不亮的星星,并進行設置
if(e.currentTarget.dataset.in == 'selectStarNo'){
this.setData({
starYesNum: Number(e.target.id) + Number(this.data.starYesNum),
starNoNum:5-Number(e.target.id) - Number(this.data.starYesNum)
})
}else{
this.setData({
starYesNum:Number(e.target.id ),
starNoNum:Number(5-e.target.id)
})
}
},
})
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
解決JS組件bootstrap table分頁實現過程中遇到的問題
這篇文章主要介紹了JS組件bootstrap table分頁實現過程中遇到的問題,感興趣的小伙伴們可以參考一下2016-04-04
如何手動實現一個 JavaScript 模塊執(zhí)行器
這篇文章主要介紹了如何手動實現一個 JavaScript 模塊執(zhí)行器,幫助大家更好的理解和使用JavaScript,感興趣的朋友可以了解下2020-10-10
BootStrap點擊下拉菜單項后顯示一個新的輸入框實現代碼
這篇文章主要介紹了BootStrap點擊下拉菜單項后顯示一個新的輸入框實現代碼的相關資料,需要的朋友可以參考下2016-05-05
innerText innerHTML的用法以及注意事項 [推薦]
我們常常需要使用另外一些對象的屬性來實現動態(tài)改變其中的文本,它們就是:innerText,outerText,innerHTML,outerHTML,千萬要注意它們的大小寫,因為錯一點您就得不到預期的效果了。2009-05-05

