跨浏览器 JavaScript 滚动到顶部动画(不带 jQuery)
许多 Web 开发人员依赖 jQuery 实现无缝页面滚动功能。然而,对于那些不想使用外部库的人来说,有一个简单的解决方案,可以使用纯 JavaScript 滚动到页面顶部。
要实现跨浏览器滚动到顶部动画,请按照以下步骤操作:
定义scrollTo函数:创建一个接受三个参数的函数:element、to和duration。该函数将处理动画。
function scrollTo(element, to, duration) {
计算差异和每刻度增量:在函数内部,计算当前滚动位置与所需位置 (to) 之间的差值,并将其除以持续时间以确定每个刻度增量。
if (duration
设置动画循环:使用setTimeout设置以10毫秒的频率运行的动画循环。在循环内,按每个刻度增量增加滚动位置,检查是否已到达所需位置。
setTimeout(function() {
element.scrollTop = element.scrollTop perTick;
if (element.scrollTop === to) return;
scrollTo(element, to, duration - 10);
}, 10);
用法:要平滑滚动到页面顶部,请像这样调用scrollTo函数:
scrollTo(document.body, 0, 600);
添加点击事件监听器:如果您有一个应该触发滚动动画的链接或按钮,请添加一个点击事件监听器来调用该函数单击时。
var scrollme = document.querySelector("#scrollme");
scrollme.addEventListener("click", runScroll, false);
这段纯JavaScript代码提供了一种简单而有效的方法来实现跨浏览器滚动到顶部动画,让您增强用户体验导航无需 jQuery 等外部库。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3