在纯 JavaScript 中添加平滑滚动动画,可以通过以下步骤实现:
下面是一个简单的示例代码:
function smoothScrollTo(targetPosition, duration) {
const startPosition = window.scrollY;
const distance = targetPosition - startPosition;
const startTime = performance.now();
function scrollAnimation(currentTime) {
const elapsedTime = currentTime - startTime;
const scrollProgress = Math.min(elapsedTime / duration, 1);
const scrollDistance = distance * scrollProgress;
window.scrollTo(0, startPosition + scrollDistance);
if (scrollProgress < 1) {
requestAnimationFrame(scrollAnimation);
}
}
requestAnimationFrame(scrollAnimation);
}
// 使用示例
const scrollToElement = document.getElementById('targetElement');
const targetPosition = scrollToElement.getBoundingClientRect().top + window.scrollY;
const duration = 1000; // 持续时间为1秒
smoothScrollTo(targetPosition, duration);
这段代码将会在指定的持续时间内平滑滚动到目标元素所在位置。你可以根据需要调整持续时间和目标元素的选择方式。
对于腾讯云的相关产品,目前腾讯云并没有提供直接相关的产品。但腾讯云提供了云计算基础设施、云服务器、云数据库、人工智能等多个产品,可以根据具体需求选择适合的产品。你可以参考腾讯云官方网站(https://cloud.tencent.com/)了解更多腾讯云产品信息。
领取专属 10元无门槛券
手把手带您无忧上云