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

<!DOCTYPE html>
<head>
<title>js實(shí)現(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()">開始計(jì)數(shù)</button>
</p>
</body>
<script>
/*
* startNum 代表要跳動的初始數(shù)字
* targetNum 代表要跳動到的數(shù)字
* time 代表要跳動需要花費(fèi)的時(shí)間
* 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ù)字比較少的時(shí)候直接用 + 1; 數(shù)字很大直接 +1 要很久才能調(diào)到最對應(yīng)的數(shù)字,所有后三位數(shù)隨機(jī)跳動的方式進(jìn)行模擬生成
if (targetNum.toString().length < 6) {
stepNum += 1; // 這樣才可以實(shí)現(xiàn)越跳越快的效果
originNum = originNum + stepNum;
dom.innerHTML = originNum;
} else {
stepNum += 500; // 這樣才可以實(shí)現(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生成隨機(jī)數(shù)(指定范圍)的實(shí)例代碼
下面小編就為大家?guī)硪黄猨s生成隨機(jī)數(shù)(指定范圍)的實(shí)例代碼。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-07-07
js change,propertychange,input事件小議
github上關(guān)于mootools一個(gè)issue的討論很有意思,所以就想測試記錄下。感興趣的可以點(diǎn)擊原頁面看看2011-12-12
JavaScript之Getters和Setters 平臺支持等詳細(xì)介紹
現(xiàn)在,JavaScript的Getters和Setters使用非常廣泛,它和每個(gè)JavaScript開發(fā)者的切身利益息息相關(guān),我們先來快速了解什么是Getters和Setters,以及它們?yōu)槭裁春苡杏?然后,我們來看看現(xiàn)在都有哪些平臺支持Gettets和Setters2012-12-12
JS實(shí)現(xiàn)旋轉(zhuǎn)木馬輪播案例
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)旋轉(zhuǎn)木馬輪播案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10
uni-app h5端在jenkins構(gòu)建報(bào)錯(cuò)解決
這篇文章主要為大家介紹了uni-app h5端在jenkins構(gòu)建報(bào)錯(cuò)解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06

