微信小程序?qū)崿F(xiàn)星級(jí)評(píng)分
本文實(shí)例為大家分享了微信小程序?qū)崿F(xiàn)星級(jí)評(píng)分的具體代碼,供大家參考,具體內(nèi)容如下
第一種方法:
WXML代碼:
<view> 星級(jí)評(píng)分 </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]: '非常不滿(mǎn)意' }); } else if (num == 2) { that.setData({ [a]: 2, [b]: '不滿(mǎn)意' }); } else if (num == 3) { that.setData({ [a]: 3, [b]: '一般' }); } else if (num == 4) { that.setData({ [a]: 4, [b]: '滿(mǎn)意' }); } else if (num == 5) { that.setData({ [a]: 5, [b]: '非常滿(mǎn)意' }); } }, })
WXSS代碼:
.container{ display: flex; flex-direction: row; padding: 0; flex-wrap: nowrap; } image{ width: 50px; height: 50px; }
第二種方法:
WXML內(nèi)容:
<view>星級(jí)評(píng)分</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)是不亮星星的盒子
通過(guò)改變亮星星的數(shù)量和不亮星星的數(shù)量實(shí)現(xiàn)星級(jí)
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) }) } }, })
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 微信小程序?qū)崿F(xiàn)星級(jí)評(píng)分和展示
- 微信小程序?qū)崿F(xiàn)星星評(píng)分效果
- 微信小程序動(dòng)態(tài)評(píng)分展示/五角星展示/半顆星展示/自定義長(zhǎng)度展示功能的實(shí)現(xiàn)
- 微信小程序?qū)崿F(xiàn)展示評(píng)分結(jié)果功能
- 微信小程序中的店鋪評(píng)分組件及vue中用svg實(shí)現(xiàn)的評(píng)分顯示組件
- 微信小程序 五星評(píng)分的實(shí)現(xiàn)實(shí)例
- 微信小程序五星評(píng)分效果實(shí)現(xiàn)代碼
- 微信小程序 五星評(píng)分(包括半顆星評(píng)分)實(shí)例代碼
- 微信小程序使用template標(biāo)簽實(shí)現(xiàn)五星評(píng)分功能
- 微信小程序?qū)崿F(xiàn)星級(jí)評(píng)分與展示
相關(guān)文章
解決JS組件bootstrap table分頁(yè)實(shí)現(xiàn)過(guò)程中遇到的問(wèn)題
這篇文章主要介紹了JS組件bootstrap table分頁(yè)實(shí)現(xiàn)過(guò)程中遇到的問(wèn)題,感興趣的小伙伴們可以參考一下2016-04-04js 中將多個(gè)逗號(hào)替換為一個(gè)逗號(hào)的代碼
這篇文章主要介紹了js 中將多個(gè)逗號(hào)替換為一個(gè)逗號(hào)的代碼,需要的朋友可以參考下2014-06-06如何手動(dòng)實(shí)現(xiàn)一個(gè) JavaScript 模塊執(zhí)行器
這篇文章主要介紹了如何手動(dòng)實(shí)現(xiàn)一個(gè) JavaScript 模塊執(zhí)行器,幫助大家更好的理解和使用JavaScript,感興趣的朋友可以了解下2020-10-10JavaScript實(shí)現(xiàn)的搜索及高亮顯示功能示例
這篇文章主要介紹了JavaScript實(shí)現(xiàn)的搜索及高亮顯示功能,涉及javascript字符遍歷與頁(yè)面元素屬性相關(guān)操作技巧,需要的朋友可以參考下2017-08-08JavaScript動(dòng)態(tài)插入CSS的方法
這篇文章主要介紹了JavaScript動(dòng)態(tài)插入CSS的方法,兩個(gè)步驟就可以實(shí)現(xiàn)JavaScript動(dòng)態(tài)插入CSS2015-12-12關(guān)于base64編碼和解碼的js工具函數(shù)
這篇文章主要介紹了關(guān)于base64編碼和解碼的js工具函數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02BootStrap點(diǎn)擊下拉菜單項(xiàng)后顯示一個(gè)新的輸入框?qū)崿F(xiàn)代碼
這篇文章主要介紹了BootStrap點(diǎn)擊下拉菜單項(xiàng)后顯示一個(gè)新的輸入框?qū)崿F(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2016-05-05innerText innerHTML的用法以及注意事項(xiàng) [推薦]
我們常常需要使用另外一些對(duì)象的屬性來(lái)實(shí)現(xiàn)動(dòng)態(tài)改變其中的文本,它們就是:innerText,outerText,innerHTML,outerHTML,千萬(wàn)要注意它們的大小寫(xiě),因?yàn)殄e(cuò)一點(diǎn)您就得不到預(yù)期的效果了。2009-05-05