滚动条下滑必定高度时,固定指定 ID 的导航条。javascript
使用方法:
一、修改 FixTop() 中 id 为须要固定导航的相应 id ;
二、修改 FixTop() 中 offsettop 为须要固定对象导航距离顶部的距离;html
效果:java
当滚动条下滑滚动超过导航栏位置时,导航栏固定 (移除原有,添加「position:fixed」属性并添加 「fixtop」 类);segmentfault
当滚动条上滑高度低于原来导航高度时,导航栏变成默认效果(移除原有,添加「position:static」属性并添加 「fixnone」类)。session
function FixTop(obj,offsettop){ var obj = document.getElementById(obj); var objOffset = obj.offsetTop; // alert('固定对象距离顶部高度为' + objOffset); //去掉 alert 前面的双斜杠,而后在页面中刷新并向下滚动,页面就弹出 offsettop 的高度。 var bodyScrollOffset = document.body.scrollTop; var Result = objOffset - bodyScrollOffset; sessionStorage.objoffset = objOffset; // console.log(Result); if (Result < 0) { if (bodyScrollOffset < offsettop) { obj.style.position = 'static'; obj.setAttribute('class', 'fixnone'); }else{ obj.style.position = "fixed"; obj.style.top = 0; obj.setAttribute('class', 'fixtop'); } }else{ obj.style.position = 'static'; obj.setAttribute('class', 'fixnone'); } } window.onscroll = function(){ FixTop('id',offsettop); }
效果示例:效果戳我。code