亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

uniapp實(shí)現(xiàn)滑動(dòng)評(píng)分效果

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

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

uniapp開發(fā)、 滑動(dòng)評(píng)分、點(diǎn)擊評(píng)分

<template>
 <view>
  <view class="flex" style="margin:200rpx;">
    <block v-for="(item,index) in scoreArray" :key='index' ><!-- 遍歷評(píng)分列表 -->
      <!-- 設(shè)置觸摸事件和點(diǎn)擊事件為同一個(gè)方法,否則點(diǎn)擊卻不滑動(dòng)的話,不觸發(fā)事件 -->
      <view class='starLen' @touchmove='changeScore'  @tap='changeScore' >
        <!-- 使用三目運(yùn)算符來動(dòng)態(tài)變化顯示的是哪張圖片,score是js中的分?jǐn)?shù),index是scoreArray的下標(biāo) -->
        <!-- 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><!-- 顯示當(dāng)前評(píng)分 -->
  </view>
 </view>
</template>

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

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

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

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

    javaScript實(shí)現(xiàn)一個(gè)隊(duì)列的方法

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

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

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

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

    有時(shí)候我們需要?jiǎng)討B(tài)的加入適合的js,因?yàn)橛袝r(shí)候不需要將所有的js都加載進(jìn)來,以來提高效率,但這種方法比較適合單個(gè)js文件比較大的情況
    2009-05-05
  • JavaScript解構(gòu)賦值詳解

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

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

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

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

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

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

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

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

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

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

    JS?連接MQTT的使用方法

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

最新評(píng)論