使用js实现导航窗格在页面下拉以后固定在页面顶端

2023-11-08 07:48

本文主要是介绍使用js实现导航窗格在页面下拉以后固定在页面顶端,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

使用js实现导航窗格在页面下拉以后固定在页面顶端。

bootstrap中的组件可以实现导航栏固定在页面的最顶端,但是有些时候导航栏并不是在页面最顶端显示的,此时bootstrap组件就不适用了。经过多次测试,最终得到了这种简便方法,留存下来以便不时之需,也可以适时拿出来显摆一下,哈哈哈。。。

话不多说,直接上代码:

首先是HTML部分,当然要留出来第一个div,用来放一些标题之类的内容,随后就是导航栏,此处的container是bootstrap的栅格布局,懂的人自然懂,不懂也没关系,container、row、col-md-12这三个div删掉即可。

<div id="top">
<div><div class="container"><div class="row"><div class="col-md-12"><div id="nav"><ul><li><a href="#"> 首 页 </a></li><li><a href="#">产品中心</a></li><li><a href="#">品牌中心</a></li><li><a href="#">技术文章</a></li><li><a href="#">联系方式</a></li></ul></div></div></div>
</div>

接下来就是CSS样式布局了,没什么好说的,自己看代码吧。无非就是给导航栏加背景颜色显得更直观一些,在每个选项两边加上竖线,然后就是设置每个选项的超链接去掉下划线、字体颜色。最重要的一点就是,当页面下拉到导航栏之后,再往下拉,导航栏就要固定住了,此时就要用navcss这个样式来固定上边距为0。

#nav {width: 100%;background-color: #062C33
}#nav ul {height: 42px;width: 1000px;margin: 0 auto;
}#nav ul li {float: left;list-style: none;display: inline;
}#nav ul li a {border-left: 1px solid #014a52;display: block;height: 42px;line-height: 42px;color: #fff;font-size: 18px;text-decoration: none;padding: 0 30px;
}.navcss {position: fixed;top: 0px;
}

最后就是核心代码js部分啦:

$(document).ready(function() {$(window).scroll(function() {if($(window).scrollTop() > $("#top").height()) {$("#nav").addClass("navcss");} else {$("#nav").removeClass("navcss");}})
})

$(window).scrollTop() > $("#top").height()对于这条语句,讲的是判断下拉条的顶端位置和top这个div的起始高度进行对比,如果下拉条顶端位置等于小于div起始高度,就把navcss这个样式添加进来,否则就移除这个样式,所以就体现出了导航栏固定在页面顶端的特效。

总体就这些,算是比较简单的方法了,但不保证各个浏览器对这种方法的兼容性,但至少小博在谷歌和2345浏览器是完美运行的啦!

这篇关于使用js实现导航窗格在页面下拉以后固定在页面顶端的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

C#控制台程序同步调用WebApi实现方式

《C#控制台程序同步调用WebApi实现方式》控制台程序作为Job时,需同步调用WebApi以确保获取返回结果后执行后续操作,否则会引发TaskCanceledException异常,同步处理可避免异... 目录同步调用WebApi方法Cls001类里面的写法总结控制台程序一般当作Job使用,有时候需要控制

SpringBoot集成P6Spy的实现示例

《SpringBoot集成P6Spy的实现示例》本文主要介绍了SpringBoot集成P6Spy的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录本节目标P6Spy简介抛出问题集成P6Spy1. SpringBoot三板斧之加入依赖2. 修改

Go语言使用net/http构建一个RESTful API的示例代码

《Go语言使用net/http构建一个RESTfulAPI的示例代码》Go的标准库net/http提供了构建Web服务所需的强大功能,虽然众多第三方框架(如Gin、Echo)已经封装了很多功能,但... 目录引言一、什么是 RESTful API?二、实战目标:用户信息管理 API三、代码实现1. 用户数据

在ASP.NET项目中如何使用C#生成二维码

《在ASP.NET项目中如何使用C#生成二维码》二维码(QRCode)已广泛应用于网址分享,支付链接等场景,本文将以ASP.NET为示例,演示如何实现输入文本/URL,生成二维码,在线显示与下载的完整... 目录创建前端页面(Index.cshtml)后端二维码生成逻辑(Index.cshtml.cs)总结

Python实现数据可视化图表生成(适合新手入门)

《Python实现数据可视化图表生成(适合新手入门)》在数据科学和数据分析的新时代,高效、直观的数据可视化工具显得尤为重要,下面:本文主要介绍Python实现数据可视化图表生成的相关资料,文中通过... 目录前言为什么需要数据可视化准备工作基本图表绘制折线图柱状图散点图使用Seaborn创建高级图表箱线图热

Redis分布式锁中Redission底层实现方式

《Redis分布式锁中Redission底层实现方式》Redission基于Redis原子操作和Lua脚本实现分布式锁,通过SETNX命令、看门狗续期、可重入机制及异常处理,确保锁的可靠性和一致性,是... 目录Redis分布式锁中Redission底层实现一、Redission分布式锁的基本使用二、Red

基于Python实现数字限制在指定范围内的五种方式

《基于Python实现数字限制在指定范围内的五种方式》在编程中,数字范围限制是常见需求,无论是游戏开发中的角色属性值、金融计算中的利率调整,还是传感器数据处理中的异常值过滤,都需要将数字控制在合理范围... 目录引言一、基础条件判断法二、数学运算巧解法三、装饰器模式法四、自定义类封装法五、NumPy数组处理

Python中经纬度距离计算的实现方式

《Python中经纬度距离计算的实现方式》文章介绍Python中计算经纬度距离的方法及中国加密坐标系转换工具,主要方法包括geopy(Vincenty/Karney)、Haversine、pyproj... 目录一、基本方法1. 使用geopy库(推荐)2. 手动实现 Haversine 公式3. 使用py

Spring Integration Redis 使用示例详解

《SpringIntegrationRedis使用示例详解》本文给大家介绍SpringIntegrationRedis的配置与使用,涵盖依赖添加、Redis连接设置、分布式锁实现、消息通道配置及... 目录一、依赖配置1.1 Maven 依赖1.2 Gradle 依赖二、Redis 连接配置2.1 配置 R

Python WSGI HTTP服务器Gunicorn使用详解

《PythonWSGIHTTP服务器Gunicorn使用详解》Gunicorn是Python的WSGI服务器,用于部署Flask/Django应用,性能高且稳定,支持多Worker类型与配置,可处... 目录一、什么是 Gunicorn?二、为什么需要Gunicorn?三、安装Gunicorn四、基本使用启