使用JavaScript實現響應式計數器動畫
在本文中,我們將學習如何使用 HTML CSS 和 JavaScript創建響應式計數器動畫。 我們在很多地方都可以用,比如適用於不同類型的個人網站、企業網站等。
這種類型的計數器動畫最常用於商業網站。例如,如果你想在你的企業網站上顯示一些產品的數量,可以使用此項目。
這裡的數字之間使用瞭計數動畫。開發人員經常使用這種類型的響應式計數器動畫來創建查詢。但是,如果您願意,可以借助簡單的 javascript 來實現。
在線演示地址
項目基本結構
目錄結構如下:
1.計數動畫的 HTML 代碼
我已經使用以下代碼添加瞭所有信息。這裡我做瞭四個框,在框中,你可以先看到圖標,然後是數字倒計時,然後是文本。
<div class="wrapper"> <div class="container"> <i class="fa-brands fa-html5"></i> <span class="num" data-val="580">000</span> <span class="text">HTML Project</span> </div> <div class="container"> <i class="fa-brands fa-node-js"></i> <span class="num" data-val="360">000</span> <span class="text">Javascript Project</span> </div> <div class="container"> <i class="fa-brands fa-java"></i> <span class="num" data-val="248">000</span> <span class="text">Java Project</span> </div> <div class="container"> <i class="fa-brands fa-python"></i> <span class="num" data-val="120">000</span> <span class="text">Python Project</span> </div> </div>
2.使用 CSS 設計網頁
我使用以下 CSS 代碼設計瞭網頁。這裡在網頁的背景中使用瞭一張圖片,你可以使用任何背景顏色代替此圖像。
* { padding: 0; margin: 0; box-sizing: border-box; font-family: "Poppins", sans-serif; } body { background: url("https://img-blog.csdnimg.cn/aff605fb499846f5911bec368762e829.png" ); background-repeat: no-repeat; background-position: center; background-size: cover; height: 100vh; } .wrapper { position: absolute; width: 80vw; transform: translate(-50%, -50%); top: 50%; left: 50%; display: flex; justify-content: space-around; gap: 10px;}
3.Counter Up box的基本結構
現在我已經做瞭這個盒子,backdrop-filter:blur (10px)
已被用來制作這些框的 width: 28vmin
,height: 28vmin
,以及一些模糊的背景。
.container { width: 28vmin; height: 28vmin; display: flex; flex-direction: column; justify-content: space-around; padding: 1em 0; position: relative; font-size: 16px; border-radius: 0.5em; backdrop-filter: blur(10px); box-shadow: -1px -1px 4px #aaa9a9a2, 1px 1px 7px rgba(147, 149, 151, 0.671); }
4.設計計數器動畫的信息
現在,我們使用以下代碼設計圖標、數字和文本。圖標的顏色 I 藍色,文本和數字顏色白色已被使用。你可以在此處根據自己的喜好更改顏色。
i { color: #42f9e8; font-size: 3.8em; text-align: center; } span.num { color: #ffffff; display: grid; place-items: center; font-weight: 600; font-size: 3em; } span.text { color: #e0e0e0; font-size: 1em; text-align: center; pad: 0.7em 0; font-weight: 400; line-height: 0; }
5.使用 CSS 使其具有響應性
現在是時候讓這個計數器動畫具有響應性瞭,以下的 CSS 可以使其具有響應性。
@media screen and (max-width: 1024px) { .wrapper { width: 85vw; } .container { height: 26vmin; width: 26vmin; font-size: 12px; } } @media screen and (max-width: 768px) { .wrapper { width: 90vw; flex-wrap: wrap; gap: 30px; } .container { width: calc(50% - 40px); height: 30vmin; margin-bottom: 25px; font-size: 14px; } } @media screen and (max-width: 480px) { .wrapper { gap: 15px; } .container { width: 100%; height: 25vmin; font-size: 8px; margin-bottom: 25px; } }
6.通過 JavaScript 激活計數器動畫
我們已經完成瞭上面所有的設計工作,並讓動畫計數器響應。現在最重要的是讓它發揮作用,為此我使用瞭一些 JavaScript。
let valueDisplays = document.querySelectorAll(".num"); let interval = 4000; valueDisplays.forEach((valueDisplay) => { let startValue = 0; let endValue = parseInt(valueDisplay.getAttribute("data-val")); let duration = Math.floor(interval / endValue); let counter = setInterval(function () { startValue += 1; valueDisplay.textContent = startValue; if (startValue == endValue) { clearInterval(counter); } }, duration); });
到這裡就完成瞭,我希望上面的代碼和教程可以幫助你創建這個響應式計數器動畫,你可以使用下面的方式獲取源碼。
完整源碼下載
GitHub 地址
到此這篇關於使用JavaScript實現響應式計數器動畫的文章就介紹到這瞭,更多相關JavaScript計數器動畫內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!