<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>js实现数字从1动态递增到10</title>
<script src="js/jquery-1.8.0.js"></script>
</head>
<body>
<div>js实现数字从1动态递增到10</div>
<div>
<span id="span1">0</span>
</div>
<br />
<div>js实现数字从20.00动态递增到30.00</div>
<div>
<span id="span2">20.00</span>
</div>
<br />
<div>js实现数字从20.00动态递增到30.00</div>
<div>
<span id="span3">20.00</span>
</div>
<script>
// 数值为int
var num = 0;
var t = setInterval(function(){
num++;
var span1 = document.getElementById("span1");
span1.innerText = num;
if(num==10){
clearInterval(t);
}
},100);
// 输入值为带两位小数的number
function numChange(start, stop){
let num = start.toString();
let arr = num.split(".");
let ex1 = /^(0+[1-9]{1,2})$/;
let ex2 = /^([1-9]{1})$/;
if( !arr[1] ) { // 当小数点后两位为00时 arr[1]=undefund
console.log("un")
arr[1] = 100;
arr[0] = parseInt(arr[0])-1;
} else if ( ex1.test(arr[1]) ) { // 当小数点后两位为0X时 arr[1]=X
console.log("ex1")
arr[1] = parseInt(arr[1]) + 100;
arr[0] = parseInt(arr[0])-1;
} else if ( ex2.test(arr[1])) { // 当小数点后两位为X0时 arr[1]=X
console.log("ex2")
arr[1] = parseInt(arr[1]+'0') + 100;
arr[0] = parseInt(arr[0])-1;
}
let t = setInterval(function(){
let first = parseInt(arr[0]);
let last = arr[1]++;
first = first + parseInt(last/100);
last = last - parseInt(last/100)*100
last<10 ? last = "0"+last : last;
num = first + "." + last;
var span2 = document.getElementById("span2");
span2.innerText = num;
if(num==stop){
num=num/100
clearInterval(t);
}
},100);
}
numChange(20.00,30.00)
// 输入值为带两位小数的string
function stringChange(start, stop){
let num = start;
let arr = num.split(".");
let t = setInterval(function(){
let first = parseInt(arr[0]);
let last = arr[1]++;
first = first + parseInt(last/100);
last = last - parseInt(last/100)*100
last<10 ? last = "0"+last : last;
num = first + "." + last;
var span3 = document.getElementById("span3");
span3.innerText = num;
if(num==stop){
num=num/100
clearInterval(t);
}
},50);
}
stringChange("20.00","30.00")
</script>
</body>