
网页侧栏固定的用途非常广泛,可以是固定导航,可以是固定部分文章,可以是固定对话窗口,更为常见的是固定广告层。现在很多站长都把侧栏部分内容给固定了,然而当被固定内容层太高时,网页滚到后面时可能会把底部的内容遮住了,这十分影响用户体验的。如下图所示:

侧栏把底部遮住了
为了获得更好的用户体验,需要解决这个问题,使侧栏始终位于底部之上,但又始终浮动可见。效果图如下:

侧栏位于底部之上

侧栏始终浮动可见
使用JS的实现方法
1、在<head></head>里添加如下代码
<!-- float div start-->  
<script type="text/javascript" src="/script/jquery-1.4.2.min.js"></script>
<style type ="text/css" > 
    .fixed {   
        position:fixed;   
        top:0px;   
        width:300px;   
    } 
    .fixed2 {   
        position:fixed;   
        top:-40px; 
        width:300px;   
    } 
</style>
<script type="text/javascript">  
jQuery(document).ready(function() {   
    var a = $("#floatbox").offset();   
    $(window).scroll(function() {   
        var b = $(window).scrollTop();   
        if (b > a.top) { 
           if((b + 600 + 200) < document.body.parentNode.scrollHeight)  
              $("#floatdiv").addClass("fixed");   
           else
              $("#floatdiv").addClass("fixed2");
        } else {   
            $("#floatdiv").removeClass("fixed");  
            $("#floatdiv").removeClass("fixed2"); 
        }   
    });   
});   
</script>
<!-- float div end-->
上述代码里的数字需要根据自己的网页进行调整,解释如下:
<script type="text/javascript" src="/script/jquery-1.4.2.min.js"></script>
引用jquery.js,注意文件路径
top:0px; 这个是漂浮层距离网页顶部的位置
width:300px;  这个是漂浮层的宽度
top:-40px; 这个是漂浮层距离网页顶部的位置
if((b + 600 + 200) < document.body.parentNode.scrollHeight) 
600是漂浮层的高度,200是网页底部的高度,如下图所示:

漂浮层和底部高度
2、固定层的代码如下:
<div id="floatbox" > 
          <div id="floatdiv">
          <ul>
            <li><a href="#" target="_blank">这里是需要固定的内容</a></li>
            <li><a href="#" target="_blank">这里是需要固定的内容</a></li>
            <li><a href="#" target="_blank">这里是需要固定的内容</a></li>
            <li><a href="#" target="_blank">这里是需要固定的内容</a></li>
          </ul>
          </div>
</div>
通过上述方法的设置,固定侧栏但又不遮住底部的功能就实现了。
您可能对如下文章也感兴趣
☉使用延迟加载图片插件 提高网页打开速度 (2013-10-21 9:48:51)
☉可以获得IP经度纬度的程序API接口 (2013-6-6 14:17:59)
☉调用新浪IP查询接口获取客户端用户ISP提供商 (2013-6-6 13:21:35)
☉fw.qq.com/ipaddress已失效 javascript获得客户端IP的新方法 (2012-1-1 23:34:16)
☉JQuery实现的层滑动效果,玄酷实用 (2009-12-15 3:33:37)
☉location.href在firefox中不起作用 (2009-11-15 23:32:47)
☉解决JSChart画图不支持中文的问题 (2009-11-5 19:54:6)
☉对JSChart未定义的解决方法 (2009-11-4 18:36:53)
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
