最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue實現(xiàn)數(shù)字變換動畫的示例代碼

 更新時間:2022年04月17日 11:02:50   作者:kk189  
本文主要介紹了vue實現(xiàn)數(shù)字變換動畫的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

最近開發(fā)項目的時候有個屏保的部分,就幾個數(shù)字覺得過于單調,索性加點特效在里邊,UI圖數(shù)字部分如下:

emmm。所以加了個數(shù)字動態(tài)變動的效果

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

改動部分:

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

2.數(shù)字整數(shù)變動

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

4.第二次數(shù)字變動在上次的數(shù)字累加

5.添加監(jiān)聽器防止頁面不更新的情況

代碼如下:

<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>

就醬紫,完美實現(xiàn)。

引用如下:

<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實現(xiàn)數(shù)字變換動畫的示例代碼的文章就介紹到這了,更多相關vue 數(shù)字變換動畫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 在vant中如何使用dialog彈窗

    在vant中如何使用dialog彈窗

    這篇文章主要介紹了在vant中如何使用dialog彈窗,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • vue鍵盤事件點擊事件加native操作

    vue鍵盤事件點擊事件加native操作

    這篇文章主要介紹了vue鍵盤事件點擊事件加native操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • vue項目中使用pinyin轉換插件方式

    vue項目中使用pinyin轉換插件方式

    這篇文章主要介紹了vue項目中使用pinyin轉換插件方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 解決element-ui里的下拉多選框 el-select 時,默認值不可刪除問題

    解決element-ui里的下拉多選框 el-select 時,默認值不可刪除問題

    這篇文章主要介紹了解決element-ui里的下拉多選框 el-select 時,默認值不可刪除問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • 最新評論

    芜湖县| 肥东县| 榆树市| 昌平区| 丘北县| 宜丰县| 金沙县| 马龙县| 琼中| 利辛县| 屏东县| 黎川县| 茌平县| 清原| 太康县| 台东市| 柯坪县| 湘西| 康乐县| 扎鲁特旗| 南通市| 北宁市| 精河县| 营山县| 灵川县| 宜黄县| 临城县| 米脂县| 河源市| 枣阳市| 广饶县| 广昌县| 墨玉县| 安龙县| 泰宁县| 太湖县| 盘锦市| 景洪市| 娄烦县| 修文县| 嘉荫县|