定位层始终保持在当前可见屏

看到过很多这样的广告,页面两边各放一个方块图片广告,拖动滚动条时广告随之动滚,始终停留在当前屏幕的下方或上方。
对于这种漂浮广告,我相信很多用户都非常不爽!
看下面两个图的应用。
当同一种技术实现的效果被应用在了不同的地方,就产生了明显的体验差别。
它们的不同点在于是否应用户需求而设计。

淘宝产品列表 http://search1.taobao.com/browse/50010388/…
淘宝产品列表

腾讯财经产业经济 http://finance.qq.com/industry/index.htm
腾讯财经产业经济

如何实现?
scrollTop是什么?当元素内部的内容高度超过元素本身的高度时就会出现滚动条,随着拖动滚动条而被隐去的上面部分的高度就是scrollTop值。
这种定位层就是当页面触发onscroll事件时,取得scrollTop值并写入定位层CSS属性,使之保持位置。
另外,IE6不支持position:fixed,只能用position:absolute特殊处理,当然你也可以忽略IE6
听不懂?看演示吧

About 花匠

青春是一条狗...
This entry was posted in 交互, 开发. Bookmark the permalink.

3 Responses to 定位层始终保持在当前可见屏

  1. s5s5 says:

    请问top:top-168 是啥意思啊,有点不可理解~

    • 花匠 says:

      top:top-168 我写得太随便了 -!-
      第一个top是css里的top属性,第二个top是变量名(当前scrollTop的值),168是定位层到顶部的初始高度。
      至于为什么要top-168,是因为#box1{position:relative;},所以里面的#box1_1的定位是相对于#box1的。

  2. 精彩网络 says:

    box1定位层上面的P标记我改我DIV 并设定高度后 为什么IE6里美效果
    我JS菜鸟 能指点下吗

留下评论

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>