>웹 프론트엔드 >JS 튜토리얼 >JS는 일부 HTML 고정 페이지_자바스크립트 기술 상단에 화면 스크롤 효과를 구현합니다.

JS는 일부 HTML 고정 페이지_자바스크립트 기술 상단에 화면 스크롤 효과를 구현합니다.

WBOY
WBOY원래의
2016-05-16 15:23:381074검색

이 기사의 예에서는 일부 HTML 고정 페이지 상단에 화면 스크롤 효과를 JS로 구현하는 방법을 설명합니다. 참고하실 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.

타오바오에서는 이런 특수 효과를 종종 볼 수 있는데, 상품 목록은 엄청나게 길지만, 상품 열 이름은 항상 맨 위에 표시됩니다. 스크롤바를 위로 스크롤하면 상단에 도달했는지 자동으로 판단한 후, 막히지 않도록 상단에 유지시켜 줍니다.

이 특수 효과는 JavaScript와 CSS를 통해 구현되며 실제 개발에서 많은 용도로 사용됩니다. 다음은 Taobao 스마트 플로팅을 모방하기 위해 JavaScript를 사용하여 찾은 소스 코드이며 호환성이 좋으며 IE, Firefox, Chrome에서는 모두 잘 작동합니다.

이 특수 효과 코드를 사용할 때는 주의가 필요합니다. 사이드바의 열은 JavaScript를 사용하여 동적으로 로드할 수 없으며 그렇지 않으면 JavaScript이어야 합니다. 페이지 높이가 잘못 계산되어 위아래로 스크롤됩니다.

자바스크립트 코드:

(function(){
  var oDiv=document.getElementById("float");
  var H=0,iE6;
  var Y=oDiv;
  while(Y){H+=Y.offsetTop;Y=Y.offsetParent};
  iE6=window.ActiveXObject&&!window.XMLHttpRequest;
  if(!iE6){
    window.onscroll=function() 
    {
      var s=document.body.scrollTop||document.documentElement.scrollTop;
      if(s>H){oDiv.className="div1 div2";if(iE6){oDiv.style.top=(s-H)+"px";}}
      else{oDiv.className="div1";}
    };
  }
})();

HTML 코드:

<div id="box">
  <div id="float" class="div1">
    //随滚动移动的部分代码
  </div>
</div>

CSS 코드:

#box{float:left;position:relative;width:295px;}
.div1{}
.div2{position:fixed;_position:absolute;top:3px;z-index:295;}

이 기사가 JavaScript 프로그래밍에 종사하는 모든 사람에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.