1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
2
3
4 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
5 <html>
6 <head>
7 <style type="text/css">
8 body {
9 padding:0;
10 margin:0;
11 }
12 #nav {
13 width:100%;
14 height:60px;
15 background:#39f;
16 color:#fff;
17 line-height:60px;
18 text-align:center;
19 padding:0;
20 margin:0;
21 list-style:none;
22 }
23 #nav li {
24 float:left;
25 width:20%;
26 height:60px;
27 }
28 .fix {
29 position:fixed;
30 top:0;
31 left:0;
32 }
33 </style>
34 </head>
35
36 <div class="wrap">
37 <h1>在线书城</h1>
38 <p>有没有一本书让你仿佛遇到春风十里</p>
39 <ul id="nav">
40 <li>加入购物车</li>
41 <li>加入收藏</li>
42 <li>立即购买</li>
43 </ul>
44 <div class="con">
45 <p>好书有好事有好诗</p>
46 <p>好书有好事有好诗</p>
47 <p>好书有好事有好诗</p>
48 <p>好书有好事有好诗</p>
49 <p>好书有好事有好诗</p>
50 <p>好书有好事有好诗</p>
51 <p>好书有好事有好诗</p>
52 <p>好书有好事有好诗</p>
53 <p>好书有好事有好诗</p>
54 <p>好书有好事有好诗</p>
55 <p>好书有好事有好诗</p>
56 <p>好书有好事有好诗</p>
57 <p>好书有好事有好诗</p>
58 <p>好书有好事有好诗</p>
59 <p>好书有好事有好诗</p>
60 <p>好书有好事有好诗</p>
61 <p>好书有好事有好诗</p>
62 <p>好书有好事有好诗</p>
63 <p>好书有好事有好诗</p>
64 <p>好书有好事有好诗</p>
65 <p>好书有好事有好诗</p>
66 <p>好书有好事有好诗</p>
67 <p>好书有好事有好诗</p>
68 <p>好书有好事有好诗</p>
69 <p>好书有好事有好诗</p>
70 <p>好书有好事有好诗</p>
71 <p>好书有好事有好诗</p>
72 </div>
73 </div>
74
75 <script type="text/javascript">
76 var tit = document.getElementById("nav");
77 //alert(tit);
78 //占位符的位置
79 var rect = tit.getBoundingClientRect();//获得页面中导航条相对于浏览器视窗的位置
80 var inser = document.createElement("div");
81 tit.parentNode.replaceChild(inser,tit);
82 inser.appendChild(tit);
83 inser.style.height = rect.height + "px";
84
85 //获取距离页面顶端的距离
86 var titleTop = tit.offsetTop;
87 //滚动事件
88 document.onscroll = function(){
89 //获取当前滚动的距离
90 var btop = document.body.scrollTop||document.documentElement.scrollTop;
91 //如果滚动距离大于导航条据顶部的距离
92 if(btop>titleTop){
93 //为导航条设置fix
94 tit.className = "clearfix fix";
95 }else{
96 //移除fixed
97 tit.className = "clearfix";
98 }
99 }
100 </script>
101 </html>当页面向下滚动时超过了吸顶导航的初始位置时,需要把吸顶导航栏固定在窗口顶部,一般吸顶导航栏还可以替换成文章标题栏,搜索框、tab条等等,例如百度糯米,天猫,淘宝最为常用。它们共同点是在内容或者功能上比较重要,但又不是最重要的元素,最重要的一般会放置于顶部。
1.实现思路是监听 scroll 事件,判断当前页面的滚动位置,当滚动距离大于导航条距顶部的距离时,为导航条采用窗口定位。
2.与“回到顶部“的实现方法一样,但是会发现实现吸顶功能时,到了临界位置时,页面会抖动一下,因为当导航条fixed出去,下部内容填补了导航条离开的位置。抢占了导航条的位置,所以抖动了一下。此处我们设置一个占位符,守住导航条的位置。
















