亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue怎么實現數字變換動畫

發布時間:2022-04-18 10:37:05 來源:億速云 閱讀:1018 作者:zzz 欄目:開發技術

今天小編給大家分享一下vue怎么實現數字變換動畫的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

UI圖數字部分如下:

vue怎么實現數字變換動畫

emmm。所以加了個數字動態變動的效果

一開始直接在網上copy了一份。但是部分功能不太能滿足需求 ,so,改動了部分,完美實現

改動部分:

1.數字不需要千位符,但是為了防止以后要有 所以加了個參數判斷,默認是沒有的

2.數字整數變動

3.組件改為行內元素,能更好的兼容頁面樣式

4.第二次數字變動在上次的數字累加

5.添加監聽器防止頁面不更新的情況

代碼如下:

<template>
    <span class="number-grow-warp">
        <span ref="numberGrow" :data-time="time" class="number-grow" :data-value="value">0</span>
    </span>
</template>

<script>
export default {
  name:'numberGrow',
  props: {
    time: {
      type: Number,
      default: 2
    },
    value: {
      type: Number,
      default: 0
    },
    thousandSign:{
        type: Boolean,
        default:()=>false
    }
  },
  data(){
    return{
      oldValue:0
    }
  },
  watch:{
    value:function(value,oldValue){
      this.numberGrow(this.$refs.numberGrow)
    }
  },
  methods: {
    numberGrow (ele) {
      let _this = this
      let value = _this.value - _this.oldValue
      let step = (value * 10) / (_this.time * 100)
      let current = 0
      let start = _this.oldValue
      let t = setInterval(function () {
        start += step
        if (start > _this.value) {
          clearInterval(t)
          start = _this.value
          t = null
        }
        if (current === start) {
          return
        }
        current = parseInt(start)
        _this.oldValue = current
        if(_this.thousandSign){
            ele.innerHTML = current.toString().replace(/(\d)(?=(?:\d{3}[+]?)+$)/g, '$1,')
        }else{
            ele.innerHTML = current.toString()
        }
      }, 10)
    }
  },
  mounted () {
    this.numberGrow(this.$refs.numberGrow)
  }
}
</script>

<style lang="less" scoped>
.number-grow-warp{
  transform: translateZ(0);
}
</style>

就醬紫,完美實現。

vue怎么實現數字變換動畫

引用如下:

<template>
  <div>
      <numberGrow :value="toNowGantryNum" :time='30'></numberGrow>  
  </div>
</template>

<script>
import numberGrow from '@/components/numberGrow/index.vue'
export default {
    name:'monitor',
    components:{numberGrow},
    data(){
        return{
            toNowGantryNum:1068319425,
        }
    }, 
}
</script>

以上就是“vue怎么實現數字變換動畫”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

vue
AI

新竹县| 开封县| 邳州市| 随州市| 祁连县| 浑源县| 台北县| 太康县| 新沂市| 荔浦县| 呼伦贝尔市| 彭阳县| 红原县| 卓资县| 驻马店市| 和顺县| 佛学| 黑水县| 海丰县| 任丘市| 黄石市| 安福县| 思南县| 长阳| 灯塔市| 南岸区| 富民县| 巢湖市| 登封市| 遂平县| 四会市| 桂东县| 安仁县| 梓潼县| 广州市| 乌拉特前旗| 垦利县| 拜泉县| 宣化县| 都匀市| 马鞍山市|