小程序制作五星点评(默认五星)

本文介绍了一个小程序中实现默认五星评价的方法,通过WXML、WXSS和JS代码结合使用,实现星星点亮状态的动态切换。
在小程序的开发过程中,我们会遇到一种情况,就是在制作五星点评的时候,默认五颗星星都是要亮的。这里我们就要分享一下自己做默认五星的心得。
在这里我们先看一下效果图:
我们在订单页面的时候,当点击“晒单”按钮的时候我们跳转到评价的页面。

这里写图片描述

(图一:订单列表)

这里写图片描述

(图二:评价)

在这里我们只看一下“描述相符的五星”


WXML代码:

<!--星星评价-->
    <view class="comment1-description" style="display:flex;flex-direction:row;">
        <view class="comment1-description1">描述相符</view>
        <view  class="star-pos" style="display:flex;flex-direction:row;">
            <view class="starsM  {{flag2>=1? '': 'hideStar'}}"  bindtap="changeColor11"></view>
            <view class="starsM  {{flag2>=2? '': 'hideStar'}}"  bindtap="changeColor12"></view>
            <view class="starsM  {{flag2>=3? '': 'hideStar'}}"  bindtap="changeColor13"></view>
            <view class="starsM  {{flag2>=4? '': 'hideStar'}}"  bindtap="changeColor14"></view>
            <view class="starsM  {{flag2>=5? '': 'hideStar'}}"  bindtap="changeColor15"></view>
        </view>
    </view>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

JS代码:

Page({
  data:{
     flag2:5
  },
  changeColor11:function(){
        var that = this;
        that.setData( {
            flag2: 1
        });
    },
  changeColor12:function(){
        var that = this;
        that.setData( {
            flag2:2
        });
    },
  changeColor13:function(){
        var that = this;
        that.setData( {
            flag2: 3
        });
    },
  changeColor14:function(){
        var that = this;
        that.setData( {
            flag2:4
        });
    },
  changeColor15:function(){
        var that = this;
        that.setData( {
            flag2: 5
        });
    }
})
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35

WXSS代码:

.comment1-description{
    margin-top: 35rpx;
}
.comment1-description1{
    font-family: PingFangSC-Regular;
    font-size: 28rpx;
    color: #333333;
    margin-left: 30rpx;
}
.star-pos {
    position: absolute;
    right: 0px;
    margin-right: 40rpx;
}
.comment1-description .star-pos .hideStar{
    z-index: 2;
    background-image: url("http://m.dev.vd.cn/static/xcx/v1/goo/star(灰)@1.5x.png");
    width: 83rpx;
    height: 43rpx;
    background-size: 43rpx 43rpx;
    background-position: center center;
    background-repeat: no-repeat;
}

.starsM{
    z-index: 1;
    width: 83rpx;
    height: 43rpx;
    background-image: url("http://m.dev.vd.cn/static/xcx/v1/goo/star@1.5x.png");
    background-size: 43rpx 43rpx;
    background-position: center center;
    background-repeat: no-repeat;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33

我们在这里的原理呢?接下来分析:

WXML代码里面,我们给每一颗星星通过bindtap绑定一个事件changeColor11,changeColor12…..等等五个事件。过个点击事件来改变flag2的默认值。
JS代码里面,我们默认flag2的值是5。然后里面可以调用WXML里面的事件。
WXSS中,我们通过starsM让所有星星都变亮,通过hideStar让所有的星星都变灰色。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值