将侧栏的某区域内容或广告位固定,在现在的网站里非常常见。这样处理的好处有很多,如果固定的内容是网站的热门文章,那么就可以有更多的机会吸引用户点击,从而提高网站的浏览量,如果固定的内容是广告,那么点击率必然会有所提高。因此这种效果深受各大站长的喜爱,使用率相当高。
本文将介绍4种方法,实现网页固定侧栏内容和广告位的效果。
方法一
实现方法:
1、在网页的<head></head>之间添加如下js代码
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
function staticNav() {
var sidenavHeight = $("#sidenav").height();
var winHeight = $(window).height();
var browserIE6 = (navigator.userAgent.indexOf("MSIE 6")>=0) ? true : false;
if (browserIE6) {
$("#sidenav").css({'position' : 'absolute'});
} else {
$("#sidenav").css({'position' : 'fixed'});
}
}
staticNav();
$(window).resize(function () {
staticNav();
});
});
</script>
2、在网页里添加需要固定的div,id为“sidenav”
<div id="sidenav">
<h2 class="categories">目录</h2>
<ul>
<li><a href="#">目录名</a></li>
<li><a href="#">目录名</a></li>
<li><a href="#">目录名</a></li>
<li><a href="#">目录名</a></li>
</ul>
<h2 class="sites">链接</h2>
<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>
这个方法是把侧栏直接固定了,它不会随着网页滚动而滚动。不过,如果侧栏高度大于浏览器窗口高度,这个方法就不适用了。
方法二
我们常见的侧栏固定层效果就是这个,下面看看实现方法:
1、你需要下载一个js文件sidebar-follow.js,点击下载
2、在</body>前面加上如下代码,注意要写对sidebar-follow.js文件的引用路径
<script type="text/javascript" src="sidebar-follow.js"></script>
<script type="text/javascript">
/* <![CDATA[ */
(new SidebarFollow()).init({
element: 'sidebar-follow',
distanceToTop: 15
});
/* ]]> */
</script>
3、在侧栏加上需要固定的div,id为“sidebar-follow”
<div id="sidebar-follow">
<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>
代码参数说明,element: 'sidebar-follow',,'sidebar-follow'是需要固定div的id名,distanceToTop: 15,15是该固定div距离浏览器顶部的位置。
方法三
这个效果跟上面第二个效果是一样,实现方法也几乎一样,区别在于这个方法里需要引用jquery.min.js文件,而第二个方法中不需要。各人可根据喜好选用。
1、你需要下载一个js文件sidebar-follow-jquery.js,点击下载
2、在</body>前面加上如下代码,注意要写对sidebar-follow-jquery.js文件的引用路径
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<script type="text/javascript" src="sidebar-follow-jquery.js"></script>
<script type="text/javascript">
/* <![CDATA[ */
(new SidebarFollow()).init({
element: jQuery('#sidebar-follow'),
distanceToTop: 15
});
/* ]]> */
</script>
3、在侧栏加上需要固定的div,id为“sidebar-follow”
<div id="sidebar-follow">
<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>
代码参数说明,element: jQuery('#sidebar-follow'),,'sidebar-follow'是需要固定div的id名,distanceToTop: 15,15是该固定div距离浏览器顶部的位置。
方法四
这个效果跟上述二、三没有什么不同,只不过这里用了另一种实现的方法。这个方法不需要引入额外js文件,比上述二、三的方法再代码量上略胜一筹。下面看看实现方法:
1、在<head></head>之间加入如下代码
<style type ="text/css" >
.fixed {
position:fixed;
top:40px;
width:300px;
}
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<script type="text/javascript">
jQuery(document).ready(function() {
var a = $("#floatbox").offset();
$(window).scroll(function() {
var b = $(window).scrollTop();
if (b > a.top + 5) {
$("#divfloat").addClass("fixed")
} else {
$("#divfloat").removeClass("fixed")
}
});
});
</script>
参数说明,if (b > a.top + 5) {,这里的5表示固定div停留在距离浏览器顶部为5px的位置。
2、在侧栏加上需要固定的div,id为“floatbox”,另外,内嵌一个 id="divfloat" 的div
<div id="floatbox" >
<div id="divfloat">
<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>
总结
上述4种方法,均可实现网页固定侧栏内容和广告位的效果,其中,方法一适用所有浏览器(包括IE6);第二和第四种方法在IE8、Chrome、Firefox等浏览器上测试通过,但在IE6浏览器里没有效果;第三种方法只适用于IE8浏览器,在Chrome、Firefox和IE6里都没有效果。
通过比较,本人认为第二种方法较好,因为它不需要引用jquery.min.js这个文件,而其他几种方法均需要引用此文件。而通用性方面,显然第一种方法不能满足大部分网站要求。
经验
上述的侧栏固定,如果滚到网页底部,可能会把底部内容遮住,这很影响用户体验,因此,要使侧栏浮动固定但又不遮住底部内容,可以参考如下方法:网页侧栏浮动固定但不遮住底部的js实现方法
☉网页速度优化技巧:URL大小写不能忽视 (2013-10-25 15:51:33)
☉让百度快速删除网站死链快照的有效方法 (2013-10-24 13:40:41)
☉友链被加nofollow标签 理由是我站友链不传递权重? (2013-9-11 17:48:6)
☉快速查找外链资源的几个方法 (2013-3-7 16:59:57)
☉网站1个月不更新 关键词排名立即下跌 (2013-2-16 17:53:8)
☉提交百度Sitemap对SEO作用不大 (2012-11-28 21:31:15)
☉交友情链接百度权重BR比Google PR更重要 (2012-11-12 5:18:21)
☉百度空间升级后友情链接不见了?教你如何添加 (2012-11-8 21:16:43)
☉全站301重定向 避免带与不带www域名权重分散的几种方法 (2012-11-5 16:38:51)
☉网站优化:如何模拟不同带宽测试网页打开速度 (2012-10-29 18:49:22)
☉SEO之给图片属性加上alt描述 (2012-9-26 5:0:15)
☉新站SEO:提交URL后可以让百度蜘蛛更快地收录 (2012-9-13 6:11:54)
☉你没想到的在zblog博客评论留下链接的SEO方法 (2012-8-28 18:7:11)
☉作弊了?网站被百度k得只剩下首页 (2012-8-16 22:10:19)
☉百度SEO:标题带网址属于过度优化行为 (2012-7-19 20:11:6)
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。