本文分享一个使用JavaScript实现页面回到顶部功能的简单实例。该功能在用户滚动超过可视区高度时显示按钮,点击后通过定时器实现从快到慢的平滑滚动动画,并在到达顶部时自动停止。代码包含显示逻辑与滚动控制核心实现,适合需要添加此类交互效果的网页开发参考。
回到顶部功能实现
近期在仿制各类网站时,注意到许多页面都具备回到顶部的交互需求,因此编写了相应的JavaScript代码并在此记录。
该实现进一步加入了从快到慢的动画过渡效果,并支持在滚动过程中随时下拉滚动条以停止滚动。参考了相关课程后,最终得到的JavaScript代码如下:
//页面加载后触发
window.onload = function(){
var btn = document.getElementById('btn');
var timer = null;
var isTop = true;
//获取页面可视区高度
var clientHeight = document.documentElement.clientHeight;
//滚动条滚动时触发
window.onscroll = function() {
//显示回到顶部按钮
var osTop = document.documentElement.scrollTop || document.body.scrollTop;
if (osTop >= clientHeight) {
btn.style.display = "block";
} else {
btn.style.display = "none";
};
//回到顶部过程中用户滚动滚动条,停止定时器
if (!isTop) {
clearInterval(timer);
};
isTop = false;
};
btn.onclick = function() {
//设置定时器
timer = setInterval(function(){
//获取滚动条距离顶部高度
var osTop = document.documentElement.scrollTop || document.body.scrollTop;
var ispeed = Math.floor(-osTop / 7);
document.documentElement.scrollTop = document.body.scrollTop = osTop+ispeed;
//到达顶部,清除定时器
if (osTop == 0) {
clearInterval(timer);
};
isTop = true;
},30);
};
};
以上关于使用JavaScript实现回到页面顶部动画效果的简单实例即为全部内容,希望能为读者提供有价值的参考,并欢迎继续支持本站。