js實現(xiàn)數(shù)字跳動到指定數(shù)字
更新時間:2020年08月25日 10:46:26 作者:#麻辣小龍蝦#
這篇文章主要為大家詳細介紹了js實現(xiàn)數(shù)字跳動到指定數(shù)字,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了js實現(xiàn)數(shù)字跳動到指定數(shù)字的具體代碼,供大家參考,具體內(nèi)容如下
運行結(jié)果如下:

<!DOCTYPE html>
<head>
<title>js實現(xiàn)數(shù)字跳動到指定數(shù)字</title>
<style>
h1 {font-size: 150px;text-align:center;}
p {text-align:center;}
button {font-size:40px;}
</style>
</head>
<body>
<h1 id="number">0</h1>
<p>
<button onclick="start()">開始計數(shù)</button>
</p>
</body>
<script>
/*
* startNum 代表要跳動的初始數(shù)字
* targetNum 代表要跳動到的數(shù)字
* time 代表要跳動需要花費的時間
* selector 代表要跳動元素的選擇器
*/
const $setJumpNumber = (startNum, targetNum, time = 1, selector) => {
let dom = document.querySelector(selector);
let originNum = startNum;
let stepNum = 0;
let timeNum = time;
dom.innerHTML = startNum;
let timeId = setInterval(() => {
if (originNum < targetNum) {
timeNum -= 0.001;
let strNum = originNum.toString();
// 數(shù)字比較少的時候直接用 + 1; 數(shù)字很大直接 +1 要很久才能調(diào)到最對應(yīng)的數(shù)字,所有后三位數(shù)隨機跳動的方式進行模擬生成
if (targetNum.toString().length < 6) {
stepNum += 1; // 這樣才可以實現(xiàn)越跳越快的效果
originNum = originNum + stepNum;
dom.innerHTML = originNum;
} else {
stepNum += 500; // 這樣才可以實現(xiàn)越跳越快的效果
originNum = originNum + stepNum;
dom.innerHTML = strNum.substr(0, strNum.length - 3) + Math.floor(Math.random()*10) + Math.floor(Math.random()*10) + Math.floor(Math.random()*10);
}
} else {
dom.innerHTML = targetNum;
clearInterval(timeId);
}
}, timeNum);
};
function start () {
$setJumpNumber(11, 218983423, 1, 'h1');
};
</script>
</html>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
相關(guān)文章
js change,propertychange,input事件小議
github上關(guān)于mootools一個issue的討論很有意思,所以就想測試記錄下。感興趣的可以點擊原頁面看看2011-12-12
JavaScript之Getters和Setters 平臺支持等詳細介紹
現(xiàn)在,JavaScript的Getters和Setters使用非常廣泛,它和每個JavaScript開發(fā)者的切身利益息息相關(guān),我們先來快速了解什么是Getters和Setters,以及它們?yōu)槭裁春苡杏?然后,我們來看看現(xiàn)在都有哪些平臺支持Gettets和Setters2012-12-12
uni-app h5端在jenkins構(gòu)建報錯解決
這篇文章主要為大家介紹了uni-app h5端在jenkins構(gòu)建報錯解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06

