垂直滚动条滑到页面里面的导航栏时,导航栏固定到窗口顶部

如标题,这个功能,有很大的实用性,通过样式以及JS,还是比较容易实现的。

不多说了,直接上代码:

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <title>菜单导航可悬浮在顶部</title>
 5     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 6     <script type="text/javascript" src="js/jquery-3.1.0.js"></script>
 7 </head>
 8 <body>
 9     <style type="text/css">
10         * {
11             padding:0;
12             margin: 0;
13         }
14         .nav {border:1px solid green; position:relative;height:50px;}
15         .nav ul{list-style-type:none;height:50px;background:gray;}
16         .nav ul li{float:left;width:158px;text-align:center;height:50px;line-height:50px;}
17         .nav ul li a:link{color:white;text-decoration:none;}
18         .nav ul li a{display:block;}
19         .nav ul li a:hover{background:#f60;}
20         .nav_fix_pos {
21             position:fixed;top:0px;left:0px;width:100%;
22             background: blue;
23         }
24     </style>
25     <div style="margin:10px 150px 10px 150px; color: #00ff99;">
26         <h2>
27         <br/>开发流程
28         <br/>
29         <br/>1)获取用户授权(这个做不做没有啥关系,反正我还没做呢)
30         <br/>2)调用统一下单接口获取预支付id
31         <br/>3)H5调起微信支付的内置JS
32         <br/>4)支付完成后,微信回调URL的处理
33         </h2>
34         <div style="margin-top: 300px;"></div>
35     </div>
36     <div class="clearfix">
37         <div class="nav">
38             <ul>
39                 <li><a id=".product_menu1" style="cursor: pointer;">产品介绍</a></li>
40                 <li><a id="#idcase" style="cursor: pointer;">保险案例</a></li>
41                 <li><a id="#idclaim" style="cursor: pointer;">理赔服务</a></li>
42                 <li><a id="#idfaq" style="cursor: pointer;">常见问题</a></li>
43                 <li><a id="#idappraise" style="cursor: pointer;">累计评价(<span id="commentAllCount">23</span>条)</a></li>
44                 <li><div id="ljgm" class="ljgm" onclick="buyFunc()" style="display: block; z-index: 1000; top: 0px;"><a id="ljgma" href="#">测算保费</a></div></li>
45             </ul>
46         </div>
47         <div style="margin-top: 300px; clear: both;"></div>
48     </div>
49     <div style="margin:10px 150px 10px 150px; color: #1100ff;">
50         <h2>继续看下面啊。。。。。。。。。。。。</h2>
51         <div style="margin-top: 300px;"></div>
52         <h2>继续看下面啊。。。。。。。。。。。。</h2>
53         <div style="margin-top: 300px;"></div>
54         <h2>继续看下面啊。。。。。。。。。。。。</h2>
55         <div style="margin-top: 300px;"></div>
56         <h2>继续看下面啊。。。。。。。。。。。。</h2>
57         <div style="margin-top: 300px;"></div>
58         <h2>继续看下面啊。。。。。。。。。。。。</h2>
59         <div style="margin-top: 300px;"></div>
60         <h2>继续看下面啊。。。。。。。。。。。。</h2>
61         <div style="margin-top: 300px;"></div>
62         <h2>继续看下面啊。。。。。。。。。。。。</h2>
63         <div style="margin-top: 300px;"></div>
64         <h2>继续看下面啊。。。。。。。。。。。。</h2>
65         <div style="margin-top: 300px;"></div>
66         <h2>继续看下面啊。。。。。。。。。。。。</h2>
67         <div style="margin-top: 300px;"></div>
68         <h2>继续看下面啊。。。。。。。。。。。。</h2>
69         <div style="margin-top: 300px;"></div>
70         <h2>继续看下面啊。。。。。。。。。。。。</h2>
71         <div style="margin-top: 300px;"></div>
72         <h2>继续看下面啊。。。。。。。。。。。。</h2>
73         <div style="margin-top: 300px;"></div>
74         <h2>继续看下面啊。。。。。。。。。。。。</h2>
75         <div style="margin-top: 300px;"></div>
76         <h2>继续看下面啊。。。。。。。。。。。。</h2>
77         <div style="margin-top: 300px;"></div>
78         <h2>继续看下面啊。。。。。。。。。。。。</h2>
79         <div style="margin-top: 300px;"></div>
80         <h2>继续看下面啊。。。。。。。。。。。。</h2>
81         <div style="margin-top: 300px;"></div>
82     </div>
83     <script>
84         $(document).ready(function(){
85             var nav=$(".nav"); //得到导航对象
86             var win=$(window); //得到窗口对象
87             var sc=$(document);//得到document文档对象。
88             var navHeight = nav.offset().top;
89             win.scroll(function(){
90               if(sc.scrollTop() >= navHeight){
91                     nav.addClass("nav_fix_pos");
92               }else{
93                     nav.removeClass("nav_fix_pos");
94               };
95             });
96         });
97     </script>
98 </body>
99 </html>

效果图如下,先看鼠标没有拖到导航栏所在的位置时:

再来看看,滑动条拖到超过导航栏所在的位置时的效果:

时间: 2024-10-22 13:13:41

垂直滚动条滑到页面里面的导航栏时,导航栏固定到窗口顶部的相关文章

如何将导航栏始终固定在窗口顶部

如何将导航栏始终固定在窗口顶部:在很多的网站导航栏或者类似于导航栏的一些功能一直能够固定在网页的顶部,就算是下拉滚动条也不会被窗口所遮挡,这样的功能往往非常的使用,下面就简单介绍一下如何实现此种功能.先看一段代码实例: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.

弹出层水平垂直居中(支持浏览器窗口大小改变,存在垂直滚动条)

<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>弹出层水平垂直居中</title> <script src="jquery-1.7.2.js" type="text/javascript"></script> <script langu

jQuery 的 Div 标签滚动条属性及判断垂直滚动条是否到达底部

转自:http://blog.163.com/[email protected]/blog/static/1284651702010894509982/ 关于 jQuery 的 Div 标签的滚动条的概念,没有几个人能够完全.正确搞明白的. 我知道很多人不同意我的观点.但是如果去百度上搜素,与 jQuery 滚动条有关的信息,都是关于滚动条外观和滚动条插件的.我最近在制作一个滚动条相关的页面效果,去 CSDN 论坛里提问,得到了一段代码,还是错误的. jQuery 里和滚动条有关的概念很多,但是

自己写一个jQuery垂直滚动条插件(panel)

html中原生的滚动条比较难看,所以有些网站,会自己实现滚动条,导航网站hao123在一个侧栏中,就自定义了垂直滚动条,效果比较好看,截图如下: 这个滚动条,只有在鼠标悬停在这个区域内时才显示,半透明效果,很节省空间的说~~,说实话,这个效果我非常喜欢. 垂直滚动条的原理,简单来说: 先起个名字,外层的叫wrapper,内层的叫content,wrapper需要有非static的定位,content需要绝对定位,这样就可以通过调节top值来模拟内容滚动. 具体说一下: 1.wrapper的ove

jquery easyui datagrid 无滚动条,datagrid 没垂直滚动条

jquery easyui datagrid 无滚动条,datagrid 没垂直滚动条 ============================== 蕃薯耀 2018年2月6日 http://www.cnblogs.com/fanshuyao/ 一.问题描述: 当jquery easyui datagrid中数据量大时,body页面又设置高度超出隐藏时(如:overflow-y:hidden)时,这时datagrid加载满整个页面时也无滚动条. 二.解决方案: 给datagrid绑定onLoad

Javascript实现页面滚动时导航智能定位

遇到的问题: 在做官网的时候,需要滚动定位的区块的图片不确定,无法确定用户浏览区域对应的模块导航 之前的解决方案是: 通过定位滚动条的位置来判断用户浏览区域对应的模块导航,这种方法的弊端是,区块的高度不确定时就无法计算滚动条的位置来判断: 优化方案: 页面中会有多个模块,每个模块对应一个导航,当页面滚动到某个模块时,对应的模块导航需要加上一个类用于区分当前用户所浏览区域. 以下是DEMO <!-- html --><div class="container">

java中如何将JScrollPane的垂直滚动条自动移动到最下端

JPanel QQP = new JPanel(); JScrollPane jsp = new JScrollPane(QQP); JScrollBar jsb = jsp.getVerticalScrollBar(); QQP.updateUI();//利用当前外观的值重置 UI 属性. 也可以保证滚动条随时的更新 //终于搞好了,将垂直滚动条自动的移动到最低端 //setViewPosition:设置显示在视口左上角的视图坐标 // jsp.getVerticalScrollBar().g

unity3d v5.1.1 ugui 带垂直滚动条的文本框

http://www.cnblogs.com/zhaoqingqing/p/3973167.html?utm_source=tuicool http://blog.csdn.net/rcfalcon/article/details/43459387 看了这两篇帖子,还是他妈的不知道怎么做,但第一个帖子的作法我已经实现了帖子内容,第二个帖子完全实现不了,于是把第一帖和第二帖的内容结合起来搞定了,我就操了,一个带垂直滚动条的文本框都这么难做,能不能提供现成的? 一.在Canvas新建一个Panel,

给tbody加垂直滚动条的具体思路

[给tbody加垂直滚动条的具体思路] 给tbody加垂直滚动条的思路就是把tbody设置成display:block,然后就对其高度设置一个固定值,overflow设置成auto即可 参考:http://www.jb51.net/css/135898.html