HTML代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>数字滚动</title>
<link rel="stylesheet" href="rollNum.css">
<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
</head>
<body>
<div class="num-box">
<div class="num-1" id="num1">
<div>0</div>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</div>
<div class="num-2" id="num2">
<div>0</div>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</div>,
<div class="num-3" id="num3">
<div>0</div>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</div>
<div class="num-4" id="num4">
<div>0</div>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</div>
<div class="num-5" id="num5">
<div>0</div>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</div>
</div>
<script>
$(function () {
var num1 = document.getElementById('num1')
var num2 = document.getElementById('num2')
var num3 = document.getElementById('num3')
var num4 = document.getElementById('num4')
var num5 = document.getElementById('num5')
function rolldown(...dom) {
dom.forEach((item, index) => {
$(item.dom).animate({
scrollTop: (item.number * 50) - $(item.dom).scrollTop()
}, 500)
})
}
setInterval(() => {
var random = Math.floor(Math.random() * 99999)
if (random >= 0 && random < 10) { // 个
rolldown(
{dom:num1,number:0,speed: 5},
{dom:num2,number:0,speed: 5},
{dom:num3,number:0,speed: 8},
{dom:num4,number:0,speed: 5},
{dom:num5,number:random,speed: 3}
)
}else if (random < 100 && random >= 10) { // 十
rolldown(
{dom:num1,number:0,speed: 5},
{dom:num2,number:0,speed: 5},
{dom:num3,number:0,speed: 8},
{dom:num4,number:random.toString().substring(0,1),speed: 5},
{dom:num5,number:random.toString().substring(1,2),speed: 3}
)
}
else if (random < 1000 && random >= 100) { // 百
rolldown(
{dom:num1,number:0,speed: 5},
{dom:num2,number:0,speed: 5},
{dom:num3,number:random.toString().substring(0,1),speed: 8},
{dom:num4,number:random.toString().substring(1,2),speed: 5},
{dom:num5,number:random.toString().substring(2,3),speed: 3}
)
}else if (random < 10000 && random >= 1000) { // 千
rolldown(
{dom:num1,number:0,speed: 5},
{dom:num2,number:random.toString().substring(0,1),speed: 5},
{dom:num3,number:random.toString().substring(1,2),speed: 8},
{dom:num4,number:random.toString().substring(2,3),speed: 5},
{dom:num5,number:random.toString().substring(3,4),speed: 3}
)
}else if (random < 100000 && random >= 10000) { // 万
rolldown(
{dom:num1,number:random.toString().substring(0,1),speed: 5},
{dom:num2,number:random.toString().substring(1,2),speed: 5},
{dom:num3,number:random.toString().substring(2,3),speed: 8},
{dom:num4,number:random.toString().substring(3,4),speed: 5},
{dom:num5,number:random.toString().substring(4,5),speed: 3}
)
}
}, 2000);
})
</script>
</body>
</html>
css代码:
.num-box{
width: 500px;
height: 50px;
font-size: 50px;
line-height: 50px;
overflow: hidden;
display: flex;
background-color: rgb(0, 7, 137);
color: white;
}
::-webkit-scrollbar {
width: 0 !important;
}
.num-box {
-ms-overflow-style: none;
overflow: -moz-scrollbars-none;
}
.num-1,.num-2,.num-3,.num-4,.num-5{
/* background-color: yellowgreen; */
/* border: 2px solid rgb(255, 255, 255); */
overflow: auto;
margin: 0 auto;
}