이 기사의 예에서는 일부 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 프로그래밍에 종사하는 모든 사람에게 도움이 되기를 바랍니다.