实现侧栏跟随滚动的方法

发布时间:2020-05-29编辑:脚本学堂
侧栏跟随滚动,即侧栏里的有些内容滚动到页面顶端以后就固定在那个位置,不再跟随滚动条而滚动。对于那些不希望被滚动到页面之外的内容是非常有用的。栏跟随滚动的实现方法有很多种,比较常见的有两种,都太繁杂了。那么有没有更简单的实现办法呢?请看下文中的介绍。

先说html文件(当然也可是动态文件,里面总归有html代码的)
 

复制代码 代码示例:
<div id="box">
<div id="float" class="div1">
在这里加入需要跟随滚动的内容
</div>
</div>

然后是CSS代码
 

复制代码 代码示例:
#box{float:left; position:relative;width:250px;}
.div1{width:250px;}
.div2{position:fixed;_position:absolute;top:0;z-index:250;}

最后是JS代码

复制代码 代码示例:

(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";}
       };
   }

})();
 

够简单吧。