window.scrollTo滚动速度
时间: 2023-09-24 21:06:16 浏览: 333
window.scrollTo函数本身不控制滚动速度,它只是将页面滚动到指定位置。如果您想要控制滚动速度,可以使用JavaScript的定时器和一些计算来实现平滑滚动效果。以下是一个示例代码:
```javascript
function smoothScroll(target, duration) {
var targetPosition = target.offsetTop;
var startPosition = window.pageYOffset;
var distance = targetPosition - startPosition;
var startTime = null;
function animation(currentTime) {
if (startTime === null) startTime = currentTime;
var timeElapsed = currentTime - startTime;
var run = ease(timeElapsed, startPosition, distance, duration);
window.scrollTo(0, run);
if (timeElapsed < duration) requestAnimationFrame(animation);
}
function ease(t, b, c, d) {
t /= d / 2;
if (t < 1) return c / 2 * t * t + b;
t--;
return -c / 2 * (t * (t - 2) - 1) + b;
}
requestAnimationFrame(animation);
}
```
这段代码将页面平滑滚动到目标元素的位置,您可以调整duration参数来控制滚动时间,从而间接控制滚动速度。
阅读全文