一、countup.js效果
countup.js是一個用於數字計數動畫的Javascript庫。它可以將數字動態地從一個起始值增加到一個結束值,實現數字計數效果的動畫。使用countup.js可以實現比如頁面上的銷售額、訪問量、時間倒計時等數字效果的展示。下面我們通過示例來看看countup.js的效果。
<!DOCTYPE html> <html> <head> <title>countup.js示例</title> <script src="https://cdn.jsdelivr.net/npm/countup.js@2.0.7/dist/countUp.min.js"></script> </head> <body> <span id="count">0</span> <button onclick="startCount()">開始計數</button> <script> var count = new CountUp('count', 0, 1000); function startCount() { count.start(); } </script> </body> </html>
在這個示例中,我們在頁面上創建了一個初始值為0的span元素,點擊“開始計數”按鈕後會實現這個數字從0到1000的計數效果。我們使用了countup.js提供的CountUp對象創建了一個count實例,指定了動畫的起始值和結束值,並在按鈕的點擊事件中調用了count.start()方法,開始動畫效果。
二、countup.js封裝和應用
使用countup.js時,我們還可以對其進行封裝,進一步提高代碼的復用性和可讀性。下面我們給出一個示例。
function startCountup(id, start, end, duration, options) { var count = new CountUp(id, start, end, 0, duration, options); if (!count.error) { count.start(); } else { console.error(count.error); } }
在這個例子中,我們定義了一個名為startCountup的函數,它接收五個參數:id為數字效果所在元素的id,start為起始值,end為結束值,duration為持續時間(毫秒),options為可選參數,可以配置數字效果的一些選項。函數內部創建了一個count實例,並使用count.start()方法啟動動畫效果,同時也處理了錯誤異常的情況。這樣我們在使用countup.js時只需要調用這個封裝好的函數,將需要的數字效果的id、起始值、結束值、持續時間等參數傳遞過去即可。
三、countup.js的uniapp應用
在uniapp開發中,我們也可以使用countup.js來實現數字效果的動畫展示。下面我們給出一個uniapp的示例。
<template> <view class="count-container"> <view class="count-item">{{count1}}</view> <view class="count-item">{{count2}}</view> <view class="count-item">{{count3}}</view> </view> </template> <script> import CountUp from "@/common/countUp.min.js" export default { data() { return { count1: 0, count2: 0, count3: 0 } }, onLoad() { this.startCountup('count1', 0, 1000); this.startCountup('count2', 0, 2000); this.startCountup('count3', 0, 500); }, methods: { startCountup(id, start, end, duration = 3000, options) { var count = new CountUp(id, start, end, 0, duration, options); if (!count.error) { count.start(() => { this[id] = end; }); } else { console.error(count.error); } } }, } </script>
在這個uniapp示例中,我們在頁面上創建了三個需要計數的數字元素,分別用count1、count2、count3的id屬性標識,然後在頁面加載時調用了startCountup方法啟動數字計數動畫。在startCountup內部,我們創建了一個count實例,指定了數字計數的起始值、結束值、持續時間,並使用count.start()方法開始動畫效果,同時定義了在動畫完成時的回調函數,更新數據並重新渲染頁面。這樣就可以在uniapp中方便地使用countup.js來實現數字效果的動畫了。
四、countup.js的更新方法
在countup.js中,還提供了額外的update方法,用於在動畫進行過程中更新數字計數的值。下面我們給出一個示例。
<!DOCTYPE html> <html> <head> <title>countup.js示例</title> <script src="https://cdn.jsdelivr.net/npm/countup.js@2.0.7/dist/countUp.min.js"></script> </head> <body> <span id="count">0</span> <button onclick="startCount()">開始計數</button> <button onclick="updateCount()">增加100</button> <script> var count = new CountUp('count', 0, 1000); function startCount() { count.start(); } function updateCount() { count.update(count.endVal + 100); } </script> </body> </html>
在這個示例中,我們同樣創建了一個count實例,然後使用count.start()方法開始數字計數動畫。我們還定義了一個updateCount方法,它調用了count.update()方法,傳遞動畫的結束值加100作為參數,這樣動畫效果就會重新開始,並從目前值開始增加到新的結果值。這個update方法提供了一個方便的功能,可以在數字計數動畫進行中,通過程序動態地更新數字的結果值。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/235907.html