vue 星星評分元件

2021-09-17 20:28:12 字數 1913 閱讀 5919

評分外掛程式在購物的應用中經常可以看得到,但是用著別人的總是沒有自己寫的順手,正好趁著這段時間做乙個移動端應用的時候寫了乙個基於vue的評分元件,功能沒有寫全

主體結構:

.scorelayer(v-show="isshowscore" @click="hidescorelayer($event)")

.center-box

.star-box.flex-between

ul.star-list(@touchstart="touchstart" @touchmove="touchmove" ref="star")

li.star-item(

v-for="i in scorelist"

:class=""

)p.star-num }分

button.btn-confirm(@click="submit") 確定

最外層是乙個遮罩,因為評分做成乙個彈框形式,因此給彈框乙個層,讓其浮動在其他內容之上

接下來是樣式設計:

.flex-between

display flex

justify-content space-between

.scorelayer

display flex

align-items center

justify-content center

background-color rgba(0,0,0,.3)

.center-box

padding-top 0.4rem

padding-bottom 0.4rem

width 50%

background-color #fff

border-radius 5px

box-shadow 0 0 5px #ccc

.star-box

padding 0 0.2rem

align-items center

.star-item

display inline-block

width 0.5rem

height 0.5rem

background url('./img/emptystar.png') no-repeat center

background-size 0.5rem 0.5rem

&.half

background url('./img/halfstar.png') no-repeat center

&.full

background url('./img/fullstar.png') no-repeat center

基本樣式就不多說了,將該元件的效果實現吧

export

default},

computed:

elseif(

this

.score ==

2* i -1)

else

statearr.

push()

i++}while

(i <=5)

return statearr

}},methods:},

showscorelayer()

,touchstart

(evt)},

touchmove

(evt)},

submit()

}}

在這個元件中,只實現了右滑評分的效果,如果需要左滑就需要在touchmove事件中進一步判斷

上述僅是我的乙個小小的分享,可能有不好的地方,可以給我提出來,thx,告辭~

微信小程式星星評分元件

效果圖 先看 用乙個元件寫好星星元件,然後呼叫即可 rating.wxml starid?src2 src1 00 rating.js component rating index.js component 元件的初始資料 data starid 5,src1 images star.png src...

vue 實現的評分小星星元件,包括半星

一 實現的思路 通過評分的分數,來算出高亮的全星有幾顆,有沒有半星,灰色星星有幾顆,通過背景實現,例如 評分 4.6 分 四捨五入計算把分數換算成0.5的倍數 math.floor 4.6 2 2 等於 4.5 把星星放到陣列 arr star 裡面 是否需要半星 var half 4.5 1 0 ...

專案 星星評分

demo 任務描述 1.滑鼠移過星星的顏色會跟著改變 評分 並且評價的內容文字依照星星級數跟著改變 2.滑鼠移開,所有東西取消 3點選星星以後星星顏色固定並不會隨著滑鼠移開取消,並且顯示評價的內容 4.滑鼠再次移入時可以更換星星評價,只要沒有點選再次移開滑鼠即回到點選時的狀態 這次練習是透過大神分享...