純 javascript 半自動式下滑必定高度,導航欄固定

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

當前作法已經不建議,建議使用最新效果:新地址

相關文章
相關標籤/搜索