評分外掛程式在購物的應用中經常可以看得到,但是用著別人的總是沒有自己寫的順手,正好趁著這段時間做乙個移動端應用的時候寫了乙個基於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.滑鼠再次移入時可以更換星星評價,只要沒有點選再次移開滑鼠即回到點選時的狀態 這次練習是透過大神分享...