91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

克什克腾旗| 宜昌市| 德庆县| 成安县| 古田县| 偃师市| 准格尔旗| 孝义市| 措美县| 临澧县| 东丽区| 辽宁省| 岳池县| 长武县| 梅河口市| 游戏| 嘉鱼县| 旺苍县| 福建省| 黎城县| 曲阜市| 肃宁县| 拜泉县| 大石桥市| 松桃| 乳源| 元阳县| 安塞县| 伊通| 巨鹿县| 库尔勒市| 保德县| 宁武县| 广水市| 吉安县| 平原县| 沁水县| 于田县| 沐川县| 东阿县| 格尔木市|