欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

uniapp實現(xiàn)滑動評分效果

 更新時間:2021年09月18日 11:52:48   作者:Harold_22  
這篇文章主要為大家詳細介紹了uniapp實現(xiàn)滑動評分效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了uniapp實現(xiàn)滑動評分的具體代碼,供大家參考,具體內(nèi)容如下

uniapp開發(fā)、 滑動評分、點擊評分

<template>
 <view>
  <view class="flex" style="margin:200rpx;">
    <block v-for="(item,index) in scoreArray" :key='index' ><!-- 遍歷評分列表 -->
      <!-- 設(shè)置觸摸事件和點擊事件為同一個方法,否則點擊卻不滑動的話,不觸發(fā)事件 -->
      <view class='starLen' @touchmove='changeScore'  @tap='changeScore' >
        <!-- 使用三目運算符來動態(tài)變化顯示的是哪張圖片,score是js中的分數(shù),index是scoreArray的下標 -->
        <!-- src部分可以這樣寫 src="{{score>index?'../../images/fullStar.png':'../../images/nullStar.png'}}"  ,這樣可以在js文件把fullStarUrl和nullStarUrl去掉 -->
        <image class='star' mode="aspectFill" :src="score>index?fullStarUrl:nullStarUrl" style="width: 30rpx; height: 30rpx;"/>    
      </view>
    </block>
    <view class='scoreContent'>{{scoreContent}}</view><!-- 顯示當前評分 -->
  </view>
 </view>
</template>

<script>
 export default{
  onLoad() {
  },
  data(){
   return{
        fullStarUrl: '滿星的圖片', //滿星圖片
        nullStarUrl: '空星圖片', //空星圖片
        score: 0, //評價分數(shù)
        scoreArray: [1, 2, 3, 4, 5], //分為1-5個評分層次
        scoreText: ['1星', '2星', '3星', '4星', '5星'], //評分列表
        scoreContent: '' //文字顯示評分情況
   }
  },
  methods:{
     changeScore: function(e) {
       console.log(e)//控制臺觸摸事件信息
       var that = this;
       var num = 0;//臨時數(shù)字,動態(tài)確定要傳入的分數(shù)
       var touchX = e.touches[0].pageX;//獲取當前觸摸點X坐標
       var starMinX = 110;//最左邊第一顆星的X坐標,假設(shè)距離頁面距離為110,距離左邊的距離是多少
       var starWidth = 15;//星星圖標的寬度,假設(shè)15(已在wxss文件中設(shè)置".star")
       var starLen = 5;//星星之間的距離假設(shè)為5(已在wxss文件中設(shè)置".starLen")
       var starMaxX = starWidth * 5 + starLen * 4+starMinX;//最右側(cè)星星最右側(cè)的X坐標,需要加上5個星星的寬度和4個星星間距
       if (touchX > starMinX && touchX < starMaxX) {//點擊及觸摸的初始位置在星星所在空間之內(nèi)
       //使用Math.ceil()方法取得當前觸摸位置X坐標相對于(星星+星星間距)之比的整數(shù),確定當前點擊的是第幾個星星
         num = Math.ceil((touchX - starMinX) / (starWidth + starLen));
         if (num != that.score) {//如果當前得分不等于剛設(shè)置的值,才賦值,因為touchmove方法刷新率很高,這樣做可以節(jié)省點資源
             that.score = num,
             that.scoreContent=that.scoreText[num - 1]
         }
       } else if (touchX < starMinX) {//如果點擊或觸摸位置在第一顆星星左邊,則恢復默認值,否則第一顆星星會一直存在
           that.score = 0,
           that.scoreContent =''
       }
     },
  }
 }
</script>

<style lang="less" scoped>
.starLen{
  margin-right: 10rpx;
  display: inline-block;
}

.star{
  width:30rpx;
  height:30rpx;
}

.scoreContent{
  margin-left: 100rpx;
  display: inline-block;
  color: #fff;
}
</style> 

代碼中的距離都是按照10px/2,轉(zhuǎn)為5rpx,(如果使用其他單位,請自行轉(zhuǎn)換)
var starMinX = 110,最左邊的星星離屏幕左邊的距離
var starWidth = 15 ,為星星的寬度
var starLen = 5,為兩個星星之間相隔的距離。
示例效果:

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • JavaScript仿商城實現(xiàn)圖片廣告輪播實例代碼

    JavaScript仿商城實現(xiàn)圖片廣告輪播實例代碼

    大家在逛購物商城的時候不知道有沒有注意到商城首頁上面都會有各種輪播廣告,效果非常好,下面小編給大家整理特此分享給大家學習
    2016-02-02
  • javaScript實現(xiàn)一個隊列的方法

    javaScript實現(xiàn)一個隊列的方法

    這篇文章主要介紹了javaScript實現(xiàn)一個隊列的方法,文中講解非常細致,代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-07-07
  • JS實現(xiàn)Cookie讀、寫、刪除操作工具類示例

    JS實現(xiàn)Cookie讀、寫、刪除操作工具類示例

    這篇文章主要介紹了JS實現(xiàn)Cookie讀、寫、刪除操作工具類,涉及javascript針對cookie的讀、寫、刪除、清空等相關(guān)操作實現(xiàn)技巧,并附帶了簡單cookie操作插件供大家參考,需要的朋友可以參考下
    2018-08-08
  • JS 動態(tài)加載腳本的4種方法

    JS 動態(tài)加載腳本的4種方法

    有時候我們需要動態(tài)的加入適合的js,因為有時候不需要將所有的js都加載進來,以來提高效率,但這種方法比較適合單個js文件比較大的情況
    2009-05-05
  • JavaScript解構(gòu)賦值詳解

    JavaScript解構(gòu)賦值詳解

    這篇文章主要為大家介紹了JavaScript解構(gòu)賦值,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • js 將線性數(shù)據(jù)轉(zhuǎn)為樹形的示例代碼

    js 將線性數(shù)據(jù)轉(zhuǎn)為樹形的示例代碼

    這篇文章主要介紹了js 將線性數(shù)據(jù)轉(zhuǎn)為樹形的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-05-05
  • JS中錨點鏈接點擊平滑滾動并自由調(diào)整到頂部位置

    JS中錨點鏈接點擊平滑滾動并自由調(diào)整到頂部位置

    這篇文章主要介紹了JS中錨點鏈接點擊平滑滾動并自由調(diào)整到頂部位置,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • 探究JavaScript函數(shù)式編程的樂趣

    探究JavaScript函數(shù)式編程的樂趣

    本文是函數(shù)式編程系列的第一篇文章,這里我會簡要介紹一下編程范式,然后會直接介紹使用Javascript進行函數(shù)式編程的概念,需要的朋友可以參考下
    2015-12-12
  • 解決layer彈出層自適應(yīng)頁面大小的問題

    解決layer彈出層自適應(yīng)頁面大小的問題

    今天小編就為大家分享一篇解決layer彈出層自適應(yīng)頁面大小的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • JS?連接MQTT的使用方法

    JS?連接MQTT的使用方法

    這篇文章主要介紹了JS?連接MQTT的使用方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-01-01

最新評論