html js单纯数字滚动效果到指定目标,保留小数点
时间: 2024-10-23 18:19:55 浏览: 13
js 数字滚动效果demo,支持小数点
4星 · 用户满意度95%
在HTML和JavaScript中,你可以通过创建一个计时器(通常使用`setInterval`函数)配合`scrollIntoView`方法来实现数字滚动到指定目标的效果。这里有一个简单的示例:
```html
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>数字滚动</title>
<style>
#number {
display: inline-block;
position: relative;
overflow: hidden;
}
#target {
position: absolute;
bottom: -50px; /* 滚动距离 */
}
</style>
</head>
<body>
<div id="number">0.00</div>
<div id="target" style="width: 40px; height: 40px; background-color: red;"></div>
<script>
// 获取元素
const numberElement = document.getElementById('number');
const targetElement = document.getElementById('target');
// 目标值
let targetValue = 1.23;
// 更新数字并滚动到目标
function scrollToTarget() {
const currentValue = parseFloat(numberElement.innerText);
if (currentValue >= targetValue) return;
numberElement.innerText = Number(currentValue + 0.01).toFixed(2); // 加0.01并保留两位小数
targetElement.style.bottom = `${-(targetValue - currentValue)}px`; // 根据差值计算滚动距离
// 递归滚动直到达到目标值
setTimeout(scrollToTarget, 100);
}
// 初始滚动
scrollToTarget();
</script>
</body>
</html>
```
这个示例中,我们首先获取了需要滚动显示数字的`<div>`和目标位置的`<div>`。然后定义了一个滚动函数`scrollToTarget`,它会逐步增加数字,并调整目标元素的位置。当数字达到或超过目标值时,停止滚动。
阅读全文