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

2022-02-09 04:33:00 字數 891 閱讀 2878

一:實現的思路:

通過評分的分數,來算出高亮的全星有幾顆,有沒有半星,灰色星星有幾顆,通過背景實現,例如:

評分 : 4.6 分 

四捨五入計算把分數換算成0.5的倍數:math.floor( 4.6 *2 ) / 2   等於 4.5

把星星放到陣列 arr_star 裡面:

是否需要半星  var half = 4.5 % 1 != 0 ?  true :false    //能被1取餘整數的話就不需要半星為false,否則是true

把全星push到陣列裡面   for ( var i = 0; i< math.floor( 4.5) ;i++ )   //on是星星高亮的名字

把半星放到陣列裡面  if( half )   //half是半星的名字

把灰色星星放到陣列裡面  if( arr_star.length < 5)    //off是灰色星星的名字

二:具體實現**:

2.1 html部分:

<

template

>

<

div

class

="star"

>

<

span

v-for

="(item,index) in itemclasslass"

class

="star-item"

:key

="index"

:class

="item"

>

span

>

div>

template

>

2.2 js部分

2.3 css部分

三:具體效果:

vue 星星評分元件

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

c語言的迴圈巢狀 例小星星 九九乘法表

有時為了解決較為複雜的問題,需要在乙個迴圈中再定義乙個迴圈,這樣的方式稱作迴圈巢狀。在c語言中,while do while for迴圈語句都可以進行迴圈巢狀,並且它們之間可以互相巢狀。其中for迴圈巢狀是常見的型別,本次將使用for迴圈巢狀展示兩個小栗子。源 include intmain pri...

Vue實現元件資訊的快取

router view keep alive 但是這種情況會對所有的元件進行快取,不能達到單個元件快取的效果。那麼我們給部分元件加上,實現方法如下 v if route.meta.keepalive router view keep alive v if route.meta.keepalive r...