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

代碼實(shí)現(xiàn)
wxml文件
<!--pages/evaluatepage/evaluatepage.wxml-->
<view class='container'>
<view class='evaluate_contant'>
<!--外層循環(huán)控制有幾個(gè)評(píng)價(jià)條目 -->
<block wx:for='{{evaluate_contant}}' wx:key='' wx:for-index='idx'>
<view class='evaluate_item'>
<view class='evaluate_title'>{{item}}</view>
<!--星星評(píng)價(jià) -->
<view class='evaluate_box'>
<!--內(nèi)層循環(huán)展示每個(gè)評(píng)價(jià)條目的星星 -->
<block wx:for="{{stars}}" wx:key=''>
<image class="star-image" style="left: {{item*80}}rpx" src="{{scores[idx] > item ?(scores[idx]-item == 0.5?halfSrc:selectedSrc) : normalSrc}}">
<view class="item" style="left:0rpx" data-score="{{item + 0.5}}" data-idx='{{idx}}' bindtap="selectLeft"></view>
<view class="item" style="left:20rpx" data-score="{{item + 1}}" data-idx='{{idx}}' bindtap="selectRight"></view>
</image>
</block>
</view>
</view>
</block>
<button class='submit_button' bindtap='submit_evaluate' type='primary'>提交</button>
</view>
</view>
js文件
Page({
data: {
evaluate_contant: ['評(píng)價(jià)條目一', '評(píng)價(jià)條目二', '評(píng)價(jià)條目三',],
stars: [0, 1, 2, 3, 4],
normalSrc: '../../images/no-star.png',
selectedSrc: '../../images/full-star.png',
halfSrc: '../../images/half-star.png',
score: 0,
scores: [0, 0, 0],
},
// 提交事件
submit_evaluate: function () {
console.log('評(píng)價(jià)得分' + this.data.scores)
},
//點(diǎn)擊左邊,半顆星
selectLeft: function (e) {
var score = e.currentTarget.dataset.score
if (this.data.score == 0.5 && e.currentTarget.dataset.score == 0.5) {
score = 0;
}
this.data.scores[e.currentTarget.dataset.idx] = score,
this.setData({
scores: this.data.scores,
score: score
})
},
//點(diǎn)擊右邊,整顆星
selectRight: function (e) {
var score = e.currentTarget.dataset.score
this.data.scores[e.currentTarget.dataset.idx] = score,
this.setData({
scores: this.data.scores,
score: score
})
}
})
wxss
/*評(píng)價(jià)區(qū)域 */
.container .evaluate_contant .evaluate_item {
font-size: 30rpx;
color: gray;
margin-left: 20rpx;
margin-top: 30rpx;
}
/*評(píng)價(jià)標(biāo)題 */
.container .evaluate_contant .evaluate_item .evaluate_title {
display: inline-block;
}
/*評(píng)價(jià)盒子 */
.container .evaluate_contant .evaluate_item .evaluate_box {
position: absolute;
left: 220rpx;
width: 100%;
display: inline-block;
}
/*星星評(píng)價(jià)的每個(gè)圖片 */
.container .evaluate_contant .evaluate_item .evaluate_box .star-image {
position: absolute;
width: 40rpx;
height: 40rpx;
src: "../../images/no-star.png";
}
/*星星的左邊和右邊區(qū)域<點(diǎn)擊左邊半個(gè)星星,點(diǎn)擊右邊整個(gè)星星> */
.container .evaluate_contant .evaluate_item .evaluate_box .star-image .item {
position: absolute;
top: 0rpx;
width: 20rpx;
height: 40rpx;
}
/*按鈕 */
.container .evaluate_contant .submit_button {
height: 60rpx;
font-size: 30rpx;
line-height: 60rpx;
margin: 20rpx;
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
js中的preventDefault與stopPropagation詳解
本篇文章主要是對(duì)js中的preventDefault與stopPropagation進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-01-01
JavaScript判斷數(shù)字是否為質(zhì)數(shù)的方法匯總
這篇文章主要介紹了JavaScript判斷數(shù)字是否為質(zhì)數(shù)的方法匯總的相關(guān)資料,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06
微信小程序使用webview頁(yè)面轉(zhuǎn)pdf文件代碼示例
工作需求,將webview的內(nèi)容導(dǎo)出到pdf輸出,下面這篇文章主要給大家介紹了關(guān)于微信小程序使用webview頁(yè)面轉(zhuǎn)pdf文件的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-09-09
js內(nèi)置對(duì)象 學(xué)習(xí)筆記
今天系統(tǒng)的學(xué)了一下javascript的內(nèi)置對(duì)象。2011-08-08
JS實(shí)現(xiàn)分頁(yè)瀏覽橫向圖片(類輪播)實(shí)例代碼
這篇文章主要介紹了JS實(shí)現(xiàn)分頁(yè)瀏覽橫向圖片(類輪播)實(shí)例代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-11-11
Javascript hasOwnProperty 方法 & in 關(guān)鍵字
hasOwnProperty :如果 object 具有指定名稱的屬性,那么方法返回 true;反之則返回 false。2008-11-11
JavaScript正則表達(dá)式函數(shù)總結(jié)(常用)
正則表達(dá)式作為一種匹配處理字符串的利器在很多語(yǔ)言中都得到了廣泛實(shí)現(xiàn)和應(yīng)用.這篇文章主要介紹了JavaScript正則表達(dá)式函數(shù)總結(jié),需要的朋友可以參考下2018-02-02

