欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 旅游 > 【四种JavaScript 实现页面底部回到顶部功能的实现方式】

【四种JavaScript 实现页面底部回到顶部功能的实现方式】

2025/6/2 22:09:21 来源:https://blog.csdn.net/weixin_41798072/article/details/148242232  浏览:    关键词:【四种JavaScript 实现页面底部回到顶部功能的实现方式】

JavaScript 实现页面底部回到顶部功能

以下是几种实现页面底部回到顶部功能的方法:

方法一:基础实现(点击按钮滚动到顶部)

<!DOCTYPE html>
<html>
<head><style>#backToTop {position: fixed;bottom: 20px;right: 20px;display: none;width: 50px;height: 50px;background-color: #333;color: white;text-align: center;line-height: 50px;border-radius: 50%;cursor: pointer;}</style>
</head>
<body><!-- 页面内容 --><div style="height: 2000px;">滚动测试内容...</div><!-- 回到顶部按钮 --><div id="backToTop"></div><script>const backToTopBtn = document.getElementById('backToTop');// 监听滚动事件window.addEventListener('scroll', function() {if (window.pageYOffset > 300) { // 滚动超过300px显示按钮backToTopBtn.style.display = 'block';} else {backToTopBtn.style.display = 'none';}});// 点击回到顶部backToTopBtn.addEventListener('click', function() {window.scrollTo({top: 0,behavior: 'smooth' // 平滑滚动});});</script>
</body>
</html>

方法二:更流畅的动画效果

// 使用requestAnimationFrame实现更流畅的滚动
function scrollToTop(scrollDuration) {const scrollStep = -window.scrollY / (scrollDuration / 15);const scrollInterval = setInterval(function() {if (window.scrollY !== 0) {window.scrollBy(0, scrollStep);} else {clearInterval(scrollInterval);}}, 15);
}// 使用示例
document.getElementById('backToTop').addEventListener('click', function() {scrollToTop(500); // 500ms内滚动到顶部
});

方法三:同时支持底部和顶部

// 同时支持滚动到底部和回到顶部
function toggleScrollButtons() {const backToTopBtn = document.getElementById('backToTop');const scrollToBottomBtn = document.getElementById('scrollToBottom');if (window.pageYOffset > 300) {backToTopBtn.style.display = 'block';scrollToBottomBtn.style.display = 'none';} else if (window.innerHeight + window.pageYOffset >= document.body.offsetHeight - 100) {backToTopBtn.style.display = 'none';scrollToBottomBtn.style.display = 'block';} else {backToTopBtn.style.display = 'none';scrollToBottomBtn.style.display = 'none';}
}window.addEventListener('scroll', toggleScrollButtons);// 滚动到底部按钮
document.getElementById('scrollToBottom').addEventListener('click', function() {window.scrollTo({top: document.body.scrollHeight,behavior: 'smooth'});
});

方法四:使用CSS自定义属性控制

:root {--back-to-top-size: 50px;--back-to-top-color: #333;--back-to-top-hover-color: #555;
}#backToTop {position: fixed;bottom: 20px;right: 20px;display: none;width: var(--back-to-top-size);height: var(--back-to-top-size);background-color: var(--back-to-top-color);color: white;text-align: center;line-height: var(--back-to-top-size);border-radius: 50%;cursor: pointer;transition: background-color 0.3s;
}#backToTop:hover {background-color: var(--back-to-top-hover-color);
}

注意事项

按钮默认隐藏,滚动一定距离后显示
添加平滑滚动效果提升用户体验
考虑移动端触摸事件的兼容性
可以添加箭头图标或自定义样式
对于长页面,可以考虑添加滚动进度指示器
以上代码可以根据实际项目需求进行调整和组合使用。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词