使用 HTML、CSS 和 JavaScript 建立動畫計數器
要建立動畫計數器,我們將使用 HTML、CSS 和 Javascript。動畫計數器可以描述為從 0 開始計數並以特定數字結束的動畫顯示。
在這篇文章中,計數器的初始值設定為 0,我們的任務是使用 HTML、CSS 和 JavaScript 建立動畫計數器。
建立動畫計數器的步驟
我們將遵循以下步驟來建立動畫計數器。
- 我們使用了兩個 div,其中一個 div 將顯示輸出,即計數器,另一個 div 充當容器。
- 我們使用 **container** 類使用 height 和 width 屬性設定框的尺寸,使用 border-radius 建立圓角,設定容器的 background-color 和文字 color。
- 然後我們使用 display 屬性將容器設定為 flexbox,並使用 justify-content 和 align-items 屬性將計數器居中。
- **animateCounter()** 函式接受三個引數:**start** 指定計數器的起始值,**end** 指定計數器的結束值(即何時停止),**duration** 指定從開始到結束的計數時間(以毫秒為單位)。
- **stepTime** 透過獲取開始和結束時間差並將其除以持續時間來控制計數器的速度,然後使用 Math.floor 進行舍入,並使用 Math.abs 返回絕對值。
- **setInterval()** 方法每隔 **stepTime** 呼叫一次函式以更新計數器,並使用 條件語句 檢查當前時間是否與結束時間匹配。當開始值和結束值相同時,**clearInterval()** 方法停止計數器。
示例
<html>
<head>
<title>
Animated Counter using HTML, CSS, and JavaScript
</title>
<style>
.container {
background-color: #031926;
color: white;
border-radius: 10px;
height: 150px;
width: 150px;
display: flex;
justify-content: center;
align-items: center;
}
</style>
</head>
<body>
<h3>
Animated Counter using HTML, CSS, and JavaScript
</h3>
<div class="container">
Counter:
<div id="counter">0</div>
</div>
<script>
function animateCounter(start, end, duration) {
let counter = document.getElementById('counter');
let stepTime = Math.abs(Math.floor
(duration / (end - start)));
let current = start;
let timer = setInterval(() => {
current++;
counter.textContent = current;
if (current === end) {
clearInterval(timer);
}
}, stepTime);
}
animateCounter(0, 501, 3000);
</script>
</body>
</html>
結論
在這篇文章中,我們瞭解了一種使用 HTML、CSS 和 JavaScript 建立動畫計數器的簡單方法。我們使用了 **setInterval()** 方法、**clearInterval()** 方法和 **條件語句** 來建立動畫計數器。
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP