zoukankan      html  css  js  c++  java
  • JS实现菜单滚动到一定高度后固定

    在有些网页中我们会发现会有这样的现象:某个div会随着屏幕的滚动达到一定高度的时候位置就固定下来了。例如一下导航条:

    那么这里就需要用到JS的逻辑方法来实现了。

    html

    <div id="space"></div>
    <ul id="nav"> 
       <li><a href="#content1">美食</a></li> 
       <li><a href="#content2">娱乐</a></li> 
       <li><a href="#content3">超市</a></li> 
       <li><a href="#content4">出行</a></li> 
       <li><a href="#content5">养车</a></li> 
    </ul> 
    <div id="content1">内容区域一</div>
    <div id="content2">内容区域二</div>
    <div id="content3">内容区域三</div>
    <div id="content4">内容区域四</div>
    <div id="content5">内容区域五</div>
    

    js

    <script type="text/javascript">
    	window.onscroll=function(){
    	    var topScroll =document.body.scrollTop || document.documentElement.scrollTop;//滚动的距离,距离顶部的距离
    		console.log(topScroll,'topScroll')
    		var space  = document.getElementById("space");
    		var bignav  = document.getElementById("nav");//获取到导航栏id
    		var spaceOffsetHeight = space.offsetTop    //以spce的滚动高度为参照
    		console.log(spaceOffsetHeight,'navOffsetHeight')
    		if(topScroll > spaceOffsetHeight){  
    			bignav.style.position = 'fixed';
    			bignav.style.top = '0';
    			bignav.style.zIndex = '9999';
    		} else {
    			bignav.style.position = 'static';
    		}
    	}
    </script>
    
  • 相关阅读:
    C++拷贝构造函数(深拷贝,浅拷贝)
    c++ string assign =
    undefined与null的区别---js
    Cocos2d-x内存自动释放机制--透彻篇
    cocos2d-x 坐标系
    cocos-html5 JS 写法基础 语言核心
    selenium--更改标签的属性值
    selenium--高亮显示正在操作的元素
    selenium--页面元素是否可见和可操作
    selenium--拖拽页面元素
  • 原文地址:https://www.cnblogs.com/wangRong-smile/p/11981179.html
Copyright © 2011-2022 走看看