微信小程序?qū)崿F(xiàn)星級評分
本文實(shí)例為大家分享了微信小程序?qū)崿F(xiàn)星級評分的具體代碼,供大家參考,具體內(nèi)容如下

第一種方法:
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內(nèi)容:
<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>
第一個(gè)block標(biāo)簽內(nèi)是亮星星的盒子
第二個(gè)block標(biāo)簽內(nèi)是不亮星星的盒子
通過改變亮星星的數(shù)量和不亮星星的數(shù)量實(shí)現(xiàn)星級
JS代碼:
Page({
data: {
starYesNum:0, //點(diǎn)亮的星星數(shù)量
starNoNum:5, //不點(diǎn)亮的星星數(shù)量
},
selectStar:function(e){
console.log(e.target.id);
console.log(e.currentTarget.dataset.in);
//判斷點(diǎn)擊的星星是亮的星星還是不亮的星星,并進(jìn)行設(shè)置
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)
})
}
},
})
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 微信小程序?qū)崿F(xiàn)星級評分和展示
- 微信小程序?qū)崿F(xiàn)星星評分效果
- 微信小程序動(dòng)態(tài)評分展示/五角星展示/半顆星展示/自定義長度展示功能的實(shí)現(xiàn)
- 微信小程序?qū)崿F(xiàn)展示評分結(jié)果功能
- 微信小程序中的店鋪評分組件及vue中用svg實(shí)現(xiàn)的評分顯示組件
- 微信小程序 五星評分的實(shí)現(xiàn)實(shí)例
- 微信小程序五星評分效果實(shí)現(xiàn)代碼
- 微信小程序 五星評分(包括半顆星評分)實(shí)例代碼
- 微信小程序使用template標(biāo)簽實(shí)現(xiàn)五星評分功能
- 微信小程序?qū)崿F(xiàn)星級評分與展示
相關(guān)文章
理解Javascript_09_Function與Object
在《理解Javascript_08_函數(shù)對象》中講解了很多函數(shù)對象的問題,同時(shí)也留下了許多疑問,今天讓我們來解答部分問題。2010-10-10
酷! 不同風(fēng)格頁面布局幻燈片特效js實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了超酷不同風(fēng)格頁面布局幻燈片特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08
JavaScript實(shí)時(shí)更新當(dāng)前的時(shí)間的示例代碼
這篇文章主要介紹了JavaScript實(shí)時(shí)更新當(dāng)前的時(shí)間的示例代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07

