星級評價的實現
背景: 對產品進行評價時,很多時候我們會用星級進行展示,如下:比分值展示 更加直觀友好。
實現:下面就對其不同的需求給其不同的實現方案
1、以粉星展示,星級值為整數個
方案:切一個星星;取到星級值,迴圈星星展示即可。
過程:略
效果:
2、以粉星和灰星展示,以顯示滿格需求,星級粗取值為整數個
方案:切一個粉星一個灰星;取到星級值,先迴圈星星展示粉星;再用 滿格值(這裡取5)-星級值 得到 灰星值,迴圈展示灰星 即可。
過程:略
效果:
3、以粉星和灰星展示,但星級要精取值為小數,此時就要複雜一些了,
方案:(1)首先我們需要把所有的粉/灰星各放在一起各切一條,
(2)以灰色星條為背景父級盒子,以粉色星條為裡子級盒覆蓋在灰色星條上,給父級以具體寬度值(灰星值也就是滿格是已知的),而子級的寬度(也是關鍵所在)以百分比的形式賦值且按返回值計算,
結構:<view class="stars"> <view class="starsBox" style="width:{{manyi_val_per}}%"></view> </view>
如何計算:這裡有兩種方式。 一種是以個數比,(粉星值/灰星值)100% 即可;一種是寬度值比,更精確一些的,就是要把星星之間的間距也精確考慮在內,為了便於描述,先設一些值,已知星星的寬度為w0,星與星的間距為d0,灰星(滿格)為n0,此時我們便知css賦值灰星條長度為w1(亦即w0n0+d0(n0-1)),返回粉星值為n(為float型),求 粉星條佔據灰星條的百分比manyi_val_per。公式為:manyi_val_per = ((nw0+Math.floot(n)*d0)/w1).toFixed(2)
效果展示:
Notes:
*子級的取值為什麼要用百分比,而不是px/rem單位值?
主要是在對像數進行適配的時候,在不同的裝置下,dpr變化時,灰色寬度隨著變化,但計算出的粉色寬度具體值不隨著變化,而粉色寬度是以style的方式渲染,就會導致寬度顯示不正確;如果使用了百分比,父級變化時,子級也會隨著按比例變化,符合了我們的需求。
相關文章
- Qml 實現星級評分元件 已釋出元件
- 星級評價元件--引發對React元件的思考元件React
- 三種方式使用純 CSS 實現星級評分CSS
- jQuery+PHP實現購物商城常用的星級評分效果jQueryPHP
- Flutter星級評選Flutter
- 可行的二級評論實現
- 【綜合評價方法】常見綜合評價方法及其實現
- jQuery星級評分效果詳解jQuery
- python實現多分類評價指標Python指標
- 評價打分元件,SVG 半顆星的解決方案!元件SVG
- 基於SVG的jQuery星級評分外掛-jRateSVGjQuery
- 滑鼠劃過星級評分效果詳解
- PHP無限級評論回覆功能實現PHP
- php+mysql+html實現五角星評論功能PHPMySqlHTML
- 推薦一款JQ星級評分外掛
- Flutter | 擼一個高大上的星級評分控制元件Flutter控制元件
- js+css+php實現點選五星進行評分JSCSSPHP
- 華熙LIVE五棵松冰上中心榮獲綠色建築三星級評價標識
- 《Afterlight》中泰坦星環境的實現方法
- 王垠對 JS 的評價JS
- 實現一個掃描商品條碼進行評價或留言的小程式(附原始碼)原始碼
- 系統效能評價---效能評估
- Binary classification - 聊聊評價指標的那些事兒【實戰篇】指標
- Swift 在手淘商品評價的技術重構與實踐Swift
- Spring的輕量級實現Spring
- 無參考影像的清晰度評價方法 (影像清晰度的評價指標)指標
- 確保使用者評價“真實可信” 大眾點評出新規制止“刷好評”
- 關於實現論壇的回覆評論
- 思否評論區 @ 人的功能實現
- Claude對LK-99的評價
- 接了ChatGPT的NewBing如何評價CodeGeeXChatGPT
- Profitero:消費者評價的力量
- Django搭建個人部落格:用django-mptt實現多級評論功能Django
- Java實現評論回覆功能Java
- 實現無限界限的星際網路計算
- 鄭強教授評價
- 評價頁筆記筆記
- 評價判斷類