前端小案例——导航回顶部(HTML+CSS+JS, 附源码)

一、前言

实现功能:

        这个案例实现了页面滚动到一定位置时显示"回到顶部"按钮,并且点击按钮能够平滑滚动回页面顶部的功能。

实现逻辑:

  1. 页面结构:通过HTML标签定义了页面的基本结构。页面主要由多个div.content组成,每个div都有不同的背景颜色,用来模拟页面内容。此外,还有一个div.nav作为侧边的导航栏,里面包含了几个列表项(li),每个列表项都有一个图标(使用svg)和文字描述(p标签),用来表示不同的功能。

  2. 样式设计:通过CSS设置了页面的样式。这包括对页面内容、导航栏以及导航项的样式设定,如位置、大小、颜色等。特别地,back-to-top按钮(回顶部)默认是不显示的(display: none;),只有当页面滚动到一定程度时才会显示出来。

  3. 交互逻辑:通过JavaScript添加了页面的交互功能。

    • 监听scroll事件:当页面滚动时,检查页面的垂直滚动位置(window.scrollYdocument.documentElement.scrollTop)。如果滚动位置超过300px,则显示回顶部按钮;否则,隐藏该按钮。
    • 监听回顶部按钮的点击事件:当点击回顶部按钮时,页面平滑滚动到顶部。这是通过调用window.scrollTo方法并设置top: 0以及behavior: 'smooth'来实现的,其中top: 0意味着滚动到页面顶部,behavior: 'smooth'则使得滚动过程平滑进行。

二、项目运行效果

三、全部代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>导航回顶部</title><style>*{margin: 0;padding: 0;text-decoration: none;list-style: none;background-repeat: no-repeat;}.content{margin: 0 auto;width: 70%;height: 600px;}.nav{position: fixed;right: 10px;bottom: 50%;transform: translateY(50%);z-index: 9;background-color: #F7F9FA;box-shadow: -2px 0 5px 2px rgba(97, 105, 119, 0.18);border-radius: 18px 0 0 18px;width: 60px;}.nav_box{padding: 26px 0;text-align: center;}.nav_box p{font-size: 12px;color: #333;line-height: 17px;}.nav_box li{cursor: pointer;margin-top: 36px;}</style>
</head>
<body><div class="content" style="background-color: rgb(191, 209, 248);"></div><div class="content" style="background-color: pink;"></div><div class="content" style="background-color: rgb(190, 250, 245);"></div><div class="content" style="background-color: rgb(250, 228, 200);"></div><div class="content" style="background-color: rgb(241, 204, 254);"></div><div class="content" style="background-color: rgb(255, 128, 162);"></div><div class="nav"><ul class="nav_box"><li style="margin-top: -5px;"><svg t="1706775929643" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1819"width="24" height="24"><pathd="M948.168406 510.186701 531.992845 126.667911c-10.704806-9.834996-27.224038-9.727549-37.81935 0.107447L75.714937 516.272303c-11.248182 10.486842-11.845793 28.092825-1.412163 39.339983 5.487991 5.868661 12.932544 8.856715 20.377096 8.856715 6.792707 0 13.58439-2.444679 18.96391-7.443529l98.732675-91.885733L212.376457 876.833219c0 15.32401 12.443403 27.821649 27.821649 27.821649l182.087105 0c7.390317 0 14.508435-2.933819 19.724227-8.259104 5.216815-5.216815 8.096399-12.280698 8.096399-19.671015l-0.76134-224.660736 132.095527 0-2.879584 224.335325c-0.107447 7.498788 2.771113 14.671141 8.042163 19.996426 5.216815 5.216815 12.334933 8.259104 19.778462 8.259104l185.619558 0c15.377222 0 27.821649-12.497639 27.821649-27.821649L819.822272 467.639676l90.636277 83.518159c11.247158 10.324136 28.907377 9.617032 39.339983-1.63115C960.177927 538.224268 959.470823 520.619308 948.168406 510.186701zM764.178975 418.191474l0 430.820096L634.583384 849.01157l2.879584-224.388537c0.107447-7.444553-2.771113-14.616906-8.042163-19.942191-5.216815-5.270027-12.334933-8.259104-19.778462-8.259104l-188.226942 0c-7.390317 0-14.508435 2.933819-19.724227 8.205892-5.216815 5.216815-8.096399 12.334933-8.096399 19.724227l0.760317 224.660736L268.018731 849.012593 268.018731 415.855266c0-0.760317-0.38067-1.357927-0.434905-2.118244l245.662049-228.6547L764.505409 416.615583C764.451174 417.158958 764.178975 417.649122 764.178975 418.191474z"fill="#231815" p-id="1820"></path></svg><p>首页</p></li><li><svg t="1706776076434" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3101"width="24" height="24"><pathd="M966.5 345.4c-30.3-91.7-89.1-173.9-166.6-232.4-83.5-63-183-96.3-287.9-96.3S307.6 50 224.1 113C146.6 171.4 87.8 253.6 57.5 345.4c-34 13-57.5 46-57.5 83.1v133.6c0 41.7 29.6 78.3 70.4 87 6.2 1.3 12.4 2 18.6 2 49.1 0 89-39.9 89-89V428.5c0-43.2-31-79.3-71.9-87.3 63.3-166.2 226-280 405.8-280s342.5 113.7 405.8 280c-40.9 8-71.9 44.1-71.9 87.3v133.6c0 39 25.2 72.1 60.2 84.1C847.8 772.1 732.3 863 596.3 889.8c-11.8-35.5-45.1-60.7-84.3-60.7-49.1 0-89 39.9-89 89s39.9 89 89 89c43.5 0 79.7-31.4 87.5-72.7 158.1-29.2 291.6-136.8 353.9-285.5h0.2c40.8-8.8 70.4-45.4 70.4-87V428.5c0-37.1-23.5-70.1-57.5-83.1z m-832.9 83.1v133.6c0 24.6-20 44.5-44.5 44.5-3.1 0-6.2-0.3-9.3-1-20.4-4.4-35.2-22.7-35.2-43.5V428.5c0-20.8 14.8-39.1 35.2-43.5 3.1-0.7 6.2-1 9.3-1 24.5 0 44.5 20 44.5 44.5zM512 962.8c-24.5 0-44.5-20-44.5-44.5s20-44.5 44.5-44.5c23.9 0 43.4 18.8 44.4 42.7 0 0.6 0.1 1.1 0.1 1.8 0 24.5-20 44.5-44.5 44.5z m467.5-400.7c0 20.8-14.8 39.1-35.2 43.5-2.2 0.5-4.6 0.8-7.5 0.9-0.6 0-1.2 0.1-1.8 0.1-24.5 0-44.5-20-44.5-44.5V428.5c0-24.5 20-44.5 44.5-44.5 3.1 0 6.2 0.3 9.3 1 20.4 4.4 35.2 22.7 35.2 43.5v133.6z"p-id="3102"></path><pathd="M682.7 656.6c9.2-8.2 9.9-22.3 1.7-31.4-8.2-9.2-22.3-9.9-31.4-1.7-149.1 133.5-275.2 6.9-280.7 1.2-8.5-8.9-22.6-9.2-31.5-0.7-8.9 8.5-9.2 22.6-0.7 31.5 1.1 1.1 72.2 73.6 173.3 73.6 50.6-0.1 108.7-18.3 169.3-72.5z"p-id="3103"></path></svg><p>客服</p></li><li><svg t="1706776191957" class="icon" viewBox="0 0 1060 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4153"width="24" height="24"><pathd="M963.2 408c-13.6 0-24 11.2-24 24v432c0 27.2-21.6 48.8-48.8 48.8H159.2c-27.2 0-48.8-21.6-48.8-48.8V159.2c0-27.2 21.6-48.8 48.8-48.8h470.4c13.6 0 24-11.2 24-24 0-13.6-11.2-24-24-24H154.4C103.2 62.4 61.6 104 61.6 155.2v715.2c0 51.2 41.6 92.8 92.8 92.8h740.8c51.2 0 92.8-41.6 92.8-92.8V432c0-12.8-11.2-24-24.8-24z"fill="" p-id="4154"></path><pathd="M968 151.2l-44-44c-30.4-30.4-78.4-33.6-105.6-5.6L355.2 564.8 510.4 720l463.2-463.2c28-27.2 25.6-75.2-5.6-105.6z m-116.8 159.2l-344 344-86.4-85.6 345.6-345.6 84.8 87.2z m88-88l-51.2 51.2-85.6-86.4 50.4-50.4c10.4-10.4 28.8-9.6 40 2.4l44 44c12 10.4 12.8 28.8 2.4 39.2zM355.2 566.4l-48 174.4c-2.4 8 0 16 5.6 21.6 5.6 5.6 13.6 8 21.6 5.6l174.4-48-36-36L360 715.2l31.2-113.6-36-35.2z"fill="" p-id="4155"></path></svg><p>反馈</p></li><li><svg t="1706776564791" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8157"width="24" height="24"><pathd="M512 358.555826c-12.288 0-22.26087 9.97287-22.26087 22.26087l0 268.221217c0 12.288 9.97287 22.26087 22.26087 22.26087s22.26087-9.97287 22.26087-22.26087L534.26087 380.816696C534.26087 368.528696 524.288 358.555826 512 358.555826zM512 716.176696c-12.288 0-22.26087 9.97287-22.26087 22.26087l0 44.699826c0 12.288 9.97287 22.26087 22.26087 22.26087s22.26087-9.97287 22.26087-22.26087l0-44.699826C534.26087 726.149565 524.288 716.176696 512 716.176696zM998.912 867.394783 575.688348 131.33913C559.972174 104.025043 536.754087 88.33113 512 88.33113S464.027826 104.025043 448.311652 131.33913L25.088 867.394783c-8.859826 15.426783-13.356522 30.675478-13.356522 45.345391 0 32.456348 23.908174 65.224348 77.312 65.224348l845.913043 0c53.381565 0 77.289739-32.768 77.312-65.224348C1012.268522 898.070261 1007.771826 882.821565 998.912 867.394783zM934.956522 933.420522 89.043478 933.420522c-9.861565 0-32.790261-2.025739-32.790261-20.702609 0-6.678261 2.56-14.669913 7.41287-23.129043L486.912 153.533217c15.137391-26.290087 35.06087-26.290087 50.198261 0l423.223652 736.033391c4.85287 8.45913 7.41287 16.450783 7.41287 23.129043C967.746783 931.394783 944.818087 933.420522 934.956522 933.420522z"fill="#2c2c2c" p-id="8158"></path></svg><p>举报</p></li><li class="back-to-top"><svg t="1706776294481" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6256"width="24" height="24"><pathd="M153.979 174.004h718.833c16.142 0 29.127-12.986 29.127-29.127s-12.986-29.127-29.127-29.127h-718.833c-16.142 0-29.127 12.986-29.127 29.127s12.986 29.127 29.127 29.127zM533.845 246.701c-11.408-11.408-29.855-11.408-41.142 0l-351.952 351.952c-11.408 11.408-11.408 29.855 0 41.142 5.703 5.703 13.107 8.496 20.631 8.496s14.928-2.791 20.631-8.496l302.194-302.194v542.614c0 16.142 12.986 29.127 29.127 29.127s29.127-12.986 29.127-29.127v-542.614l302.194 302.194c5.703 5.703 13.107 8.496 20.631 8.496s14.928-2.791 20.631-8.496c11.408-11.408 11.408-29.855 0-41.142l-352.074-351.952z"fill="" p-id="6257"></path></svg><p>回顶部</p></li></ul></div><script>let backToTopBtn = document.querySelector('.back-to-top');backToTopBtn.style.display = 'none';window.addEventListener('scroll', () => {if (window.scrollY > 300 || document.documentElement.scrollTop > 300) {backToTopBtn.style.display = 'block';} else {backToTopBtn.style.display = 'none';}});backToTopBtn.addEventListener('click', (e) => {e.preventDefault();window.scrollTo({top: 0,behavior: 'smooth'});});</script>
</body>
</html>

四、答疑解惑

        这是一个非常适合前端入门练习的小案例,各位小伙伴可以自行更改样式和图片,如果大家运行时出现问题或代码有什么不懂的地方都可以随时评论留言或联系博主QQ。

        还多请各位小伙伴多多点赞支持,你们的支持是我最大的动力。

博主QQ:1196094293

谢谢各位的支持~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/249766.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【居然比GPT还好用】KnowLM:知识图谱 + 大模型,实现更有效的信息抽取和知识管理

KnowLM 知识图谱 大模型&#xff1a;实现信息抽取 KnowLM 原理KnowLM 部署KnowLM 应用1. 命名实体识别&#xff08;NER&#xff09;2. 关系抽取&#xff08;RE&#xff09;3. 事件抽取&#xff08;EE&#xff09; KnowLM 原理 代码&#xff1a;https://github.com/zjunlp/Kno…

如何使用内网穿透工具在公网实现实时监测DashDot服务器仪表盘

文章目录 1. 本地环境检查1.1 安装docker1.2 下载Dashdot镜像 2. 部署DashDot应用3. 本地访问DashDot服务4. 安装cpolar内网穿透5. 固定DashDot公网地址 本篇文章我们将使用Docker在本地部署DashDot服务器仪表盘&#xff0c;并且结合cpolar内网穿透工具可以实现公网实时监测服务…

2024年美国大学生数学建模F题思路分析 - 减少非法野生动物贸易

# 1 赛题 问题F&#xff1a;减少非法野生动物贸易 非法的野生动物贸易会对我们的环境产生负面影响&#xff0c;并威胁到全球的生物多样性。据估计&#xff0c;它每年涉及高达265亿美元&#xff0c;被认为是全球第四大非法交易。[1]你将开发一个由数据驱动的5年项目&#xff0c…

CCSIP中国网络安全行业全景册(第六版)发布 飞驰云联入选7大领域

2024年1月24日&#xff0c; FreeBuf咨询正式发布《CCSIP 2023中国网络安全行业全景册&#xff08;第六版&#xff09;》。Ftrans飞驰云联的产品凭借优秀的市场表现&#xff0c;强势入选网络隔离/网闸、工业网络隔离系统/网闸、数据安全管控&#xff08;平台型&#xff09;、数据…

[Tcpdump] 网络抓包工具使用教程

往期回顾 海思 tcpdump 移植开发详解海思 tcpdump 移植开发详解 前言 上一节&#xff0c;我们已经讲解了在海思平台如何基于静态库生成 tcpdump 工具&#xff0c;本节将作为上一节的拓展内容。 一、tcpdump 简介 「 tcpdump 」是一款强大的网络抓包工具&#xff0c;它基于…

deque容器的相关概念及常用接口

deque的基本概念 作用&#xff1a;作为双端数组&#xff0c;可以很方便的对头尾进行插入和删除操作 注意&#xff1a;适用deque时需包含头文件deque deque与vector的区别 1、vector对数组头部的插入和删除操作效率低&#xff0c;时间复杂度高。数据量越大&#xff0c;效率越…

Python学习03 -- 函数相关内容

1.def --- 这个是定义函数的关键字 \n --- 这个在print()函数中是换行符号 1.注意是x, 加个空格之后再y 1.形式参数数量是不受限制的&#xff08;参数间用&#xff0c;隔开&#xff09;&#xff0c;传实参给形参的时候要一一对应 返回值 --- 函数返还的结果捏 1.写None的时…

2023年09月CCF-GESP编程能力等级认证Python编程五级真题解析

Python等级认证GESP(1~6级)全部真题・点这里 一、单选题(共15题,共30分) 第1题 近年来,线上授课变得普遍,很多有助于改善教学效果的设备也逐渐流行,其中包括比较常用的手写板,那么它属于哪类设备?( ) A:输入 B:输出 C:控制 D:记录 答案:A 第2题 以下关于…

学习Android的第一天

目录 什么是 Android&#xff1f; Android 官网 Android 应用程序 Android 开发环境搭建 Android 平台架构 Android 应用程序组件 附件组件 Android 第一个程序 HelloWorld 什么是 Android&#xff1f; Android&#xff08;发音为[ˈnˌdrɔɪd]&#xff0c;非官方中文…

【selenium方式】获取微博指定用户指定日期内所有帖子详细数据

这篇文章主要放源代码&#xff0c;思路不会介绍特别清楚&#xff0c;详细思路可以看评论区的b站讲解视频。 1.场景需求 获取微博肖战超话内容部分用户的帖子数据&#xff0c;日期范围限定在近2个月&#xff0c;要求获得帖子的发布时间、帖子文本内容、转发数据、评论数据和点…

【Go 快速入门】包及依赖管理 | Go 第三方包发布 | 接口 | 反射

文章目录 包和依赖管理依赖管理go modgo get go.mod 文件go.sum 文件Go Modules 发布包 接口空接口接口值类型断言 反射reflect.TypeOfreflect.ValueOf结构体反射 项目代码地址&#xff1a;04-PackageInterfaceReflection 包和依赖管理 Go 使用包来支持代码模块化和代码复用&…

市场复盘总结 20240201

仅用于记录当天的市场情况&#xff0c;用于统计交易策略的适用情况&#xff0c;以便程序回测 短线核心&#xff1a;不参与任何级别的调整&#xff0c;采用龙空龙模式 一支股票 10%的时候可以操作&#xff0c; 90%的时间适合空仓等待 昨日主题投资 连板进级率 6/27 22.2% 二进…

AI 原生时代的云计算

本文整理自2023年 12 月 20 日举办的「2023 百度云智大会智算大会」主论坛&#xff0c;百度副总裁谢广军的主题演讲《AI 原生时代的云计算》。 &#xff08;视频回放链接&#xff1a;https://cloud.baidu.com/summit/aicomputing_2023/index.html&#xff09; 大模型的到来&…

一些大语言模型(LLM)相关的开源项目

一些大语言模型&#xff08;LLM&#xff09;相关的开源项目 更多文章访问: https://www.cyisme.top 因为站内限制问题&#xff0c;有些图片无法显示&#xff0c;导致阅读体验较差&#xff0c;可以访问原文&#xff1a;《一些大语言模型&#xff08;LLM&#xff09;相关的开源项…

揭秘远程控制APP的便捷之美!

在这个科技日新月异的时代&#xff0c;我们的生活被各种手机软件所包围。几乎每个人都有一个甚至多个手机&#xff0c;你是否也有遇到过需要远程操作自己某一台手机的场景呢&#xff1f;今天&#xff0c;我要向大家推荐一款神奇的手机远程操作神器&#xff0c;让你可以随时随地…

(2)(2.11) RFD900

文章目录 前言 1 概述 2 主要功能 3 状态LED指示灯 4 接口 5 使用Mission Planner进行配置 6 支持不同国家/地区 7 讨论论坛 前言 RFD900 无线电调制解调器是一款高功率 900Mhz ISM 波段无线电调制解调器&#xff0c;设计用于远距离串行通信。据报道&#xff0c;其通信…

数字孪生 三维建模方式以及细节步骤流程

对于数字孪生这个概念&#xff0c;三维建模不同行业认知都不尽相同。有的行业认为数字孪生重点在于建模&#xff0c;有的行业认为在于物联感知&#xff0c;还有部分认为是虚拟仿真。今天重点从建模角度和大家谈谈数字孪生技术常用的三维建模方式以及精细度分级。 数字孪生平台…

基于鲸鱼优化的knn分类特征选择算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 4.1 鲸鱼优化算法&#xff08;WOA&#xff09; 4.1.1 包围猎物 4.1.2 螺旋式搜索 4.1.3 更新策略 4.2 K近邻&#xff08;KNN&#xff09;分类器 4.3 基于WOA的KNN分类特征选择算法 5.完…

ApacheNginx配置ssl证书

一、Apache配置ssl Linux版本&#xff1a;CentOS Linux release 7.9.2009 (Core) Apache版本&#xff1a;Apache/2.4.6 (CentOS) 1、安装Apache&#xff08;使用默认yum源&#xff09; [root10-35-1-25 ~]# yum -y install httpd2、查Apache版本&启动Apache [root10-35-…

花瓣网美女图片爬取

爬虫基础案例01 花瓣网美女图片 网站url&#xff1a;https://huaban.com 图片爬取 import requests import json import os res requests.get(url "https://api.huaban.com/search/file?text%E7%BE%8E%E5%A5%B3&sortall&limit40&page1&positionsear…