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

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

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

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

XHTML

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

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

CSS

  1. .demo{width:180pxheight:250pxmargin:10pxborder:2px solid #cccbackground:#eee
  2.  padding:10pxposition:relativemargin-top:-290px;} 

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

jQuery

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

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

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

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

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

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

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

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

  1. .demo{width:180pxheight:250pxmargin:10pxborder:2px solid #cccbackground:#eee
  2.  padding:10pxposition:absolutemargin-top:156px; right:10px;} 

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

转载请注明:代码家园 » jQuery实现浮动层跟随页面滚动效果

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)