jQuery实现浮动层跟随页面滚动效果

jerry JQuery 2015年08月20日 收藏

在本文中,我将介绍一个可以跟随页面滚动的层效果,当用户滚动鼠标滚轮或者拖动浏览器滚动条时,浮动层将跟随滚动。我通过实例讲解相关插件的应用以及使用时注意事项。

该效果大多应用在企业网站的在线客服服务、电子商务网站的购物车以及商业网站的广告条展示等场合。

在本例中,我用到了一个重要的插件:scroll-follow,该插件在当前主流浏览器IE6+, FF2+, Safari 3,and Opera 9均测试通过,具有可配置参数,使用简单的特点。

HTML


<div id="scroll" class="demo">
    ...任意你想展示的内容
</div>

只需要一个div层,内容任意。值得注意的是,如果你想把DIV展示在页面左右两边,则应该把这个DIV放在紧跟<body>后。

CSS


.demo{width:180px; height:250px; margin:10px; border:2px solid #ccc; background:#eee;
 padding:10px; position:relative; margin-top:-290px;}

设置DIV的宽度和高度,并设置绝对位置position:relative以及距离顶部的值margin-top:-290px,这个290是怎么算出来的呢?一看就明白:290=250+10x2+10x2即DIV高度+两个margin值+两个padding值。

jQuery

首先引入jquery库和scroll-follow.js


<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.scroll-follow.js"></script>

调用插件非常简单,代码如下:


$(function(){
	$("#scroll").scrollFollow();
});

你可以通过设置以下参数获得更多的效果:

参数 描述 默认值
speed 滚动的间隔毫秒数,数值越小,滚动越快。 500
offset 距离滚动顶部的点数(pixels)。 0
relativeTo 设置滚动的DIV靠上还是靠下,可以设置为"top"或"bottom"。 top
killSwitch 开启和取消跟随滚动开关的元素ID,需要jQuery Cookie plugin支持。 "killSwitch"
onText 如果启用了跟随滚动,开关显示的文字。 "Turn Slide Off"
offText 如果取消了跟随滚动,开关显示的文字。 "Turn Slide On"

官方网站还提供了delay和container两个参数,用来控制滚动延时和滚动范围,我觉得没有多大实用意义,就不作描述了。

需要提醒的是,如果我想让浮动的DIV层展示在页面的右侧,该怎么办?其实该插件不具备此功能,我们需要做的就是通过CSS来定位浮动DIV的位置。


.demo{width:180px; height:250px; margin:10px; border:2px solid #ccc; background:#eee;
 padding:10px; position:absolute; margin-top:156px; right:10px;}

通过相对定位来确定浮动DIV层的位置,相当灵活,具体效果可以查看DEMO演示。

下载地址