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

vue數字金額動態(tài)變化功能實現方法詳解

 更新時間:2022年09月15日 08:39:33   作者:Saga?Two  
這篇文章主要介紹了vue實現數字金額動態(tài)變化效果,數字動態(tài)變化是我們在前端開發(fā)中經常需要做的效果,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧

1 前言

  在某些場景中,要求我們能夠動態(tài)與用戶進行交互,如頁面加載一個數字的時候,動態(tài)改變一個固定地數字,然后將數字展現在頁面上,如當前的積分或者余額等;以達到提高與用戶交互體驗的效果。下面我們就在vue中使用兩種方法來實現數字動態(tài)滾動效果。

2 數字動態(tài)滾動

2.1 計時器實現

先上效果:

  以上效果是點擊按鈕加載金額,實際情況是頁面加載的時候就需要。這個時候我們需要在頁面加載的時候執(zhí)行用該方法。以上實例用到的代碼如下:

代碼:

<template>
  <div>
    <title-bar :title="title" @goBack="goback"></title-bar>
     <div class="amount-box">
      <label>您的余額為:</label>
      <label>{{ amountFormatPage }}</label>
    </div>
    <t-button @clickhandle="changeAmount" name="計時器"></t-button>
  </div>
</template>
<script>
import TitleBar from "@/components/TitleBar";
import tButton from "@/components/TButton";
import { amountFormat } from "@/util/utils";
export default {
  components: {
    TitleBar,
    tButton
  },
  data() {
    return {
      res: false, //
      title: "動態(tài)變化金額",
      amount: 0, //初始amout
      amoutFrame: 0,
      amountShow: 0
    };
  },
  computed: {
    // 計算屬性格式化頁面金額
    amountFormatPage() {
      return amountFormat(this.amount);
    }
  },
  methods: {
    changeAmount() {
      const total = 16000; //設置初始總金額
      const _this = this;
      let i = 0;
      //變化15次,每次間隔30毫秒
      const amoutInterval = setInterval(() => {
        if (i < 15) {
          i++;
          _this.amount = (total * i) / 15;
        } else {
          clearInterval(amoutInterval);
        }
      }, 30);
    },
    goback() {
      //
    }
  }
};
</script>
<style lang="scss" scoped>
.amount-box {
  label {
    display: box;
  }
}
</style>

除了這個效果以外,我們可以通過調節(jié)計時器的間隔時間來控制金額變化的速度;通過調節(jié)i的大小來控制變化的次數。主要是控制這兩個參數來達到我們想要的效果。

2.2 動畫幀實現

實現效果如下:

vue代碼如下:

<template>
  <div>
    <title-bar :title="title" @goBack="goback"></title-bar>
    <div>
      <label>您的余額為:</label>
      <label>{{ amountShow }}</label>
    </div>
    <t-button @clickhandle="changeAmountFrame" name="動畫幀"></t-button>
  </div>
</template>
<script>
import TitleBar from "@/components/TitleBar";
import tButton from "@/components/TButton";
import { amountFormat } from "@/util/utils";
export default {
  components: {
    TitleBar,
    tButton
  },
  data() {
    return {
      res: false, //
      title: "動態(tài)變化金額",
      amount: 0, //初始amout
      amoutFrame: 0,
      amountShow: 0
    };
  },
  methods: {
    changeAmountFrame() {
      const total = 26666;
      const frameNum = 60;
      const _this = this;
      let animation = window.requestAnimationFrame(function f() {
        if (_this.amoutFrame < total) {
          _this.amoutFrame = _this.amoutFrame + total / frameNum;
          // 動畫繼續(xù)
          animation = window.requestAnimationFrame(f);
        } else {
          _this.amoutFrame = total;
          // 動畫停止
          window.cancelAnimationFrame(f);
        }
        _this.amountShow = amountFormat(_this.amoutFrame);
      });
    },
    goback() {
      //
    }
  }
};
</script>
<style lang="scss" scoped>
.amount-box {
  label {
    display: box;
  }
}
</style>

window.requestAnimationFrame()是執(zhí)行動畫幀的關鍵方法,對應window.cancelAnimationFrame()是停止動畫幀的方法。其中動畫幀的價格時間一把為16ms,同上,通過調節(jié)framenum參數來控制一共播放多少幀,來達到我們想要的效果。

3 總結

  本次用兩種方法實現金額數字等動態(tài)變化,偏向應用領域,若想了解即使器和動畫幀的更深層次原理,請一部專業(yè)網站或者動手艙室一下。

到此這篇關于vue數字金額動態(tài)變化功能實現方法詳解的文章就介紹到這了,更多相關vue數字動態(tài)變化內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • vue3中如何用threejs畫一些簡單的幾何體

    vue3中如何用threejs畫一些簡單的幾何體

    最近學習threejs有些時間了,就想著著手做些東西,下面這篇文章主要給大家介紹了關于vue3中如何用threejs畫一些簡單的幾何體的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-03-03
  • el-form 多層級表單的實現示例

    el-form 多層級表單的實現示例

    這篇文章主要介紹了el-form 多層級表單的實現示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • Vue3 Pinia如何修改全局狀態(tài)變量值

    Vue3 Pinia如何修改全局狀態(tài)變量值

    這篇文章主要介紹了Vue3 Pinia如何修改全局狀態(tài)變量值問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • vue單頁面應用打開新窗口顯示跳轉頁面的實例

    vue單頁面應用打開新窗口顯示跳轉頁面的實例

    今天小編就為大家分享一篇vue單頁面應用打開新窗口顯示跳轉頁面的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • 詳解Vue取消eslint語法限制

    詳解Vue取消eslint語法限制

    本篇文章給大家分享了Vue取消eslint語法限制的相關知識點內容,有興趣的朋友們可以參考學習下。
    2018-08-08
  • Vue 使用v-model實現控制子組件顯隱效果

    Vue 使用v-model實現控制子組件顯隱效果

    v-model 可以實現雙向綁定的效果,允許父組件控制子組件的顯示/隱藏,同時允許子組件自己控制自身的顯示/隱藏,本文給大介紹Vue 使用v-model實現控制子組件顯隱,感興趣的朋友一起看看吧
    2023-11-11
  • vue導出少量pdf文件實現示例詳解

    vue導出少量pdf文件實現示例詳解

    這篇文章主要為大家介紹了vue導出少量pdf文件實現示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • Vue 計數器的實現

    Vue 計數器的實現

    這篇文章主要介紹了Vue 計數器的實現,主要利用HTML實現步驟現在頁面上簡單實現一個計數器,內容簡單且詳細,需要的朋友可以參考一下
    2021-10-10
  • vue+elementUI實現右擊指定表格列的單元格顯示選擇框功能

    vue+elementUI實現右擊指定表格列的單元格顯示選擇框功能

    這篇文章主要介紹了vue+elementUI實現右擊指定表格列的單元格顯示選擇框功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-03-03
  • Vue 中如何利用 new Date() 獲取當前時間

    Vue 中如何利用 new Date() 獲取當前時間

    在 Vue 開發(fā)中,利用 new Date() 方法可以方便地獲取當前時間,并通過 Date 對象的方法進行時間格式化和操作。通過本文的介紹,您應該對在 Vue 中獲取當前時間有了更深入的了解,并了解了一些常見的時間操作方法,需要的朋友可以參考下
    2023-07-07

最新評論

北京市| 克什克腾旗| 福鼎市| 昌黎县| 綦江县| 玉田县| 青海省| 景泰县| 庄浪县| 余庆县| 石门县| 南江县| 出国| 广水市| 大同县| 沁阳市| 富顺县| 务川| 永定县| 上思县| 镇坪县| 左权县| 休宁县| 阜新| 旺苍县| 凌云县| 双鸭山市| 渭南市| 无锡市| 苍梧县| 读书| 新沂市| 周宁县| 鱼台县| 思茅市| 准格尔旗| 荆门市| 巫溪县| 永登县| 陇南市| 大兴区|