溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

微信小程序如何實(shí)現(xiàn)五星評(píng)分效果

發(fā)布時(shí)間:2022-04-18 16:34:43 來源:億速云 閱讀:232 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹了微信小程序如何實(shí)現(xiàn)五星評(píng)分效果的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇微信小程序如何實(shí)現(xiàn)五星評(píng)分效果文章都會(huì)有所收獲,下面我們一起來看看吧。

微信小程序五星評(píng)分效果實(shí)現(xiàn)代碼

微信小程序如何實(shí)現(xiàn)五星評(píng)分效果

像這樣的,分別代表分?jǐn)?shù)為0,0.5,1 時(shí)的狀態(tài),

然后上代碼:

js:

function pingfenxing(pingfen){
   var that=this,  //這里是圖片的路徑,自己需要改
     data={
     ling:"img/pingfen0.png",
     zheng:"img/pingfen2.png",
     ban:"img/pingfen1.png"    },
     nums=[];//這里是返回圖片排列的順序的數(shù)組,這里要注意在頁面使用的時(shí)候圖片的路徑,不過使用網(wǎng)絡(luò)圖片無所謂    if((pingfen/0.5)%2==0){//如果評(píng)分為整數(shù),如4.0、5.0
     for(var i=0;i<5;i++){
      if(i<pingfen){
       nums.push(data.zheng);
      }else{
       nums.push(data.ling);
      }
     }
   }else{//評(píng)分不為整數(shù),如3.5、2.5
     for(var i=0;i<5;i++){
      if(i<pingfen-0.5){
       nums.push(data.zheng);//先把整數(shù)分離出來,如:3.5,這里就是先把3分離出來,把代表1的圖片放進(jìn)去
      }else if(i==(pingfen-0.5)){
       nums.push(data.ban);//把小數(shù)的部分分離出來,如:3.5里的0.5,把代表0.5的圖片放進(jìn)去
      }else{
       nums.push(data.ling);//然后剩下的就是沒有滿的用代表0的圖片放進(jìn)去,如:3.5,里面放進(jìn)去了3個(gè)代表1的圖片,然后放入了1個(gè)代表0.5的圖片,最后還剩一個(gè)圖片的位置,這時(shí)候就放代表0的圖片
      }
     }
   }
    return num; } module.exports = {   pingfen:pingfenxing }

WXML代碼:

<view class="pingfen">
   <block wx:for="{{item.pingfenpic}}" wx:key="{{item.id}}" wx:for-item="pingfen">
      <image class="img" src="{{pingfen}}"></image>
   </block>
   <text data-pingfen="{{item.pingfen}}" >{{item.pingfen}}</text>
</view>

使用這個(gè)功能的頁面的JS代碼:

var pingxin=require("../../utils/pingxing.js");
Page({  data:{    tuangou:tuangou}//我這里是在頁面加載的時(shí)候先從后臺(tái)獲取數(shù)據(jù),把數(shù)據(jù)的值賦值給tuangou,然后遍歷將數(shù)據(jù)里面的參數(shù)拿出來,然后再把相應(yīng)的評(píng)分中的圖片排列順序放到這條數(shù)據(jù)中的pingfenpic中保存,然后在頁面中渲染即可
onLoad:function(options){
  console.log('onLoad');
  var that=this;
  // 頁面初始化 options為頁面跳轉(zhuǎn)所帶來的參數(shù)
  wx.request({
   url: 'https://wxapp.com/tuangou',//這里是你請(qǐng)求數(shù)據(jù)的接口地址,自己填寫
   data: {},
   method: 'GET',
   success: function(res){
    // success
    console.log(res.data.tuangou);
    let tuangou=res.data.tuangou;
    for(let i=0;i<tuangou.length;i++){
      tuangou[i].pingfenpic=pingxin.pingfen(parseFloat(tuangou[i].pingfen));//使用函數(shù)將評(píng)分變?yōu)閳D片排列的數(shù)組,這里要注意,如果評(píng)分傳過來的是字符串 需要將它變?yōu)閿?shù)字
    }
    that.setData({
     tuangou:tuangou
    });
    console.log(that.data.tuangou);
   },
   fail: function() {
    // fail
   },
   complete: function() {
    // complete
   }
  });  }
});

關(guān)于“微信小程序如何實(shí)現(xiàn)五星評(píng)分效果”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“微信小程序如何實(shí)現(xiàn)五星評(píng)分效果”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI