最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

关于JavaScript如何实现导航栏吸顶操作的实例分享

来源:动视网 责编:小采 时间:2020-11-27 20:15:15
文档

关于JavaScript如何实现导航栏吸顶操作的实例分享

关于JavaScript如何实现导航栏吸顶操作的实例分享:关于JavaScript如何实现导航栏吸顶操作的实例分享<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C/
推荐度:
导读关于JavaScript如何实现导航栏吸顶操作的实例分享:关于JavaScript如何实现导航栏吸顶操作的实例分享<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C/
 关于JavaScript如何实现导航栏吸顶操作的实例分享

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<style type="text/css">
 body {
 padding:0;
 margin:0;
 }
 #nav {
 width:100%;
 height:60px;
 background:#39f;
 color:#fff;
 line-height:60px;
 text-align:center;
 padding:0;
 margin:0;
 list-style:none;
 }
 #nav li {
 float:left;
 width:20%;
 height:60px;
 }
 .fix {
 position:fixed;
 top:0;
 left:0;
 }
</style>
</head>

<div class="wrap">
 <h1>在线书城</h1>
 <p>有没有一本书让你仿佛遇到春风十里</p>
 <ul id="nav">
 <li>加入购物车</li>
 <li>加入收藏</li>
 <li>立即购买</li>
 </ul>
 <div class="con">
 <p>好书有好事有好诗</p>
 <p>好书有好事有好诗</p>
 <p>好书有好事有好诗</p>
 <p>好书有好事有好诗</p>
 <p>好书有好事有好诗</p>
 <p>好书有好事有好诗</p>
 <p>好书有好事有好诗</p>
 <p>好书有好事有好诗</p>
 <p>好书有好事有好诗</p>
 <p>好书有好事有好诗</p>
 <p>好书有好事有好诗</p>
 <p>好书有好事有好诗</p>
 <p>好书有好事有好诗</p>
 <p>好书有好事有好诗</p>
 <p>好书有好事有好诗</p>
 <p>好书有好事有好诗</p>
 <p>好书有好事有好诗</p>
 <p>好书有好事有好诗</p>
 <p>好书有好事有好诗</p>
 <p>好书有好事有好诗</p>
 <p>好书有好事有好诗</p>
 <p>好书有好事有好诗</p>
 <p>好书有好事有好诗</p>
 <p>好书有好事有好诗</p>
 <p>好书有好事有好诗</p>
 <p>好书有好事有好诗</p>
 <p>好书有好事有好诗</p>
 </div>
</div>

<script type="text/javascript">
var tit = document.getElementById("nav");
//alert(tit);
//占位符的位置
var rect = tit.getBoundingClientRect();//获得页面中导航条相对于浏览器视窗的位置
var inser = document.createElement("div");
tit.parentNode.replaceChild(inser,tit);
inser.appendChild(tit);
inser.style.height = rect.height + "px";

//获取距离页面顶端的距离
var titleTop = tit.offsetTop;
//滚动事件
document.onscroll = function(){
 //获取当前滚动的距离
 var btop = document.body.scrollTop||document.documentElement.scrollTop;
 //如果滚动距离大于导航条据顶部的距离
 if(btop>titleTop){
 //为导航条设置fix
 tit.className = "clearfix fix";
 }else{
 //移除fixed
 tit.className = "clearfix";
 }
}
</script>
</html>

当页面向下滚动时超过了吸顶导航的初始位置时,需要把吸顶导航栏固定在窗口顶部,一般吸顶导航栏还可以替换成文章标题栏,搜索框、tab条等等,例如百度糯米,天猫,淘宝最为常用。它们共同点是在内容或者功能上比较重要,但又不是最重要的元素,最重要的一般会放置于顶部。

1.实现思路是监听 scroll 事件,判断当前页面的滚动位置,当滚动距离大于导航条距顶部的距离时,为导航条采用窗口定位。

2.与“回到顶部“的实现方法一样,但是会发现实现吸顶功能时,到了临界位置时,页面会抖动一下,因为当导航条fixed出去,下部内容填补了导航条离开的位置。抢占了导航条的位置,所以抖动了一下。此处我们设置一个占位符,守住导航条的位置。

效果如下:

文档

关于JavaScript如何实现导航栏吸顶操作的实例分享

关于JavaScript如何实现导航栏吸顶操作的实例分享:关于JavaScript如何实现导航栏吸顶操作的实例分享<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C/
推荐度:
标签: 分享 导航 实现
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top