滾動條下滑必定高度時,固定指定 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