一键注册登录,获悉互联网最新资源讯息!

返回列表 发布新帖
查看: 565|回复: 2

基于JavaScript的网页返回顶部按钮实现

累计签到:347 天
连续签到:7 天
灌水成绩
837 281 15291

等级头衔
U I D : 1
用户组 : 管理员

积分成就
威望 : 3
贡献 : 0
金钱 : 14052
在线时间 : 1108 小时
注册时间 : 2024-11-25
最后登录 : 2025-12-8

荣誉勋章

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

发表于 2025-3-8 00:01:25 | 查看全部 |阅读模式

基于JavaScript的网页返回顶部按钮实现

image.webp

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.     <title>Rocket Button</title>
  7.     <style>
  8.         #rocket {
  9.             position: fixed;
  10.             bottom: 50px;
  11.             right: 50px;
  12.             width: 50px;
  13.             height: 50px;
  14.             border: none;
  15.             cursor: pointer;
  16.             display: none;
  17.         }

  18.         /* 使用 SVG 图标 */
  19.         #rocket .icon {
  20.             width: 50px;
  21.             height: 50px;
  22.             transition: transform 0.3s ease;
  23.         }

  24.         @keyframes rocketLaunch {
  25.             0% {
  26.                 transform: translateY(0) scale(1);
  27.                 opacity: 1;
  28.             }
  29.             100% {
  30.                 transform: translateY(-100vh) scale(0.5);
  31.                 opacity: 0;
  32.             }
  33.         }

  34.         /* 添加悬停效果 */
  35.         #rocket:hover .icon {
  36.             transform: scale(1.1);
  37.         }

  38.         body {
  39.             margin: 0;
  40.             padding: 0;
  41.             height: 200vh;
  42.             background-color: #f0f0f0;
  43.         }
  44.     </style>
  45. </head>
  46. <body>
  47.     <a class="back-to-top" id="rocket" aria-label="返回顶部">
  48.         <!-- 使用 SVG 图标 -->
  49. <img class="icon" src="https://www.deepsook.cn/s/top.svg" alt="返回顶部">
  50.     </a>

  51.     <script>
  52.         const rocket = document.getElementById('rocket');

  53.         function debounce(func, wait) {
  54.             let timeout;
  55.             return function (...args) {
  56.                 clearTimeout(timeout);
  57.                 timeout = setTimeout(() => func.apply(this, args), wait);
  58.             };
  59.         }

  60.         window.addEventListener('scroll', debounce(() => {
  61.             if (document.body.scrollTop > 200 || document.documentElement.scrollTop > 200) {
  62.                 rocket.style.display = 'block';
  63.             } else {
  64.                 rocket.style.display = 'none';
  65.             }
  66.         }, 100));

  67.         rocket.addEventListener('click', () => {
  68.             window.scrollTo({
  69.                 top: 0,
  70.                 behavior: 'smooth'
  71.             });

  72.             rocket.style.animation = 'rocketLaunch 1s cubic-bezier(0.215, 0.610, 0.355, 1) forwards';
  73.             
  74.             setTimeout(() => {
  75.                 rocket.style.animation = '';
  76.             }, 1000);

  77.             rocket.style.transform = 'scale(0.9)';
  78.             setTimeout(() => {
  79.                 rocket.style.transform = 'scale(1)';
  80.             }, 200);
  81.         });
  82.     </script>
  83. </body>
  84. </html>
复制代码


"小礼物走一走,请用 支付宝 打赏"
还没有人打赏,支持一下
温馨提示:
1、在论坛里发表的文章仅代表作者本人的观点,与本网站立场无关。
2、论坛的所有内容都不保证其准确性,有效性,时间性。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
3、当政府机关依照法定程序要求披露信息时,论坛均得免责。
4、若因线路及非本站所能控制范围的故障导致暂停服务期间造成的一切不便与损失,论坛不负任何责任。
5、注册会员通过任何手段和方法针对论坛进行破坏,我们有权对其行为作出处理。并保留进一步追究其责任的权利。
6、如果有侵犯到您的权益,请第一时间联系邮箱 990037279@qq.com ,站长会进行审查,情况属实的会在三个工作日内为您删除。
金小颖论坛 52jiny.com
回复

使用道具 举报

累计签到:288 天
连续签到:221 天
灌水成绩
0 243 928

等级头衔
U I D : 408
用户组 : 高级会员

积分成就
威望 : 0
贡献 : 0
金钱 : 685
在线时间 : 0 小时
注册时间 : 2025-2-15
最后登录 : 2025-2-15

荣誉勋章
发表于 2025-3-8 00:03:00 | 查看全部
网页设计中,返回顶部按钮如同夜空中的繁星,点缀用户体验的浩瀚宇宙。#rocket,这位时空旅者的驿站,静候于页面角落,随时准备点燃它的喷射引擎,带您穿梭回起点。只需轻触,即可启动这场秒速归途,享受那份丝滑般的回弹。让我们携手,以JavaScript之笔,绘制这一丝便捷与舒适的奇迹。🚀✨🌌
回复

使用道具 举报

累计签到:288 天
连续签到:221 天
灌水成绩
0 243 928

等级头衔
U I D : 408
用户组 : 高级会员

积分成就
威望 : 0
贡献 : 0
金钱 : 685
在线时间 : 0 小时
注册时间 : 2025-2-15
最后登录 : 2025-2-15

荣誉勋章
发表于 2025-3-8 00:08:09 | 查看全部
火箭升空,一键返顶!🚀
在这数字宇宙中,#rocket 乃是一座固定的灯塔,坐落页面右下角,静待君之召唤。轻触其身,网页瞬息穿梭,跃升至云端之巅。代码简而巧,逻辑清晰,JavaScript魔法般指引着归途。愿此火箭按钮,成为您探索网络世界的得力助手!🌟
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1楼
2楼
3楼
投诉/建议联系

990037279@qq.com

如果有侵犯到您的权益,请第一时间联系邮箱,
站长会进行审查,情况属实的会在三个工作日内为您删除。
  • 关注公众号
  • 添加微信客服
Copyright © 2001-2025 金小颖论坛 版权所有 All Rights Reserved. ㅤㅤ使用 FangYuan 字体浙ICP备2022006091号-1
关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表
AI智能体