如何在网页上有浮动/固定元素,具体取决于页面的哪一部分可见?

时间:2009-09-11 04:15:46

标签: javascript jquery css xhtml

问题很混乱,我知道,但我不能用其他任何方式。

以下是网址:Configure - Apple Store (U.S.)

侧面的“摘要”框位于子标题下方(所有Mac型号的图片),与内容块的高度相同。如果向上滚动页面,整个页面将按预期上升。但是,当内容块滚动离开浏览器窗口的可视区域时,即使您滚动到页面的远端,摘要块也会将其自身锚定到顶层并保持在那里。

这种行为被称为什么?实现它的最简单,最干净的方法是什么?我更喜欢jQuery插件和/或代码片段而不是普通的JavaScript。

2 个答案:

答案 0 :(得分:4)

您可以这样做:

$(function () { 
  var $el = $('.fixedElement'), 
      originalTop = $el.offset().top;  // store original top position

  $(window).scroll(function(e){ 
    if ($(this).scrollTop() > originalTop ){ 
      $el.css({'position': 'fixed', 'top': '0px'}); 
    } else { 
      $el.css({'position': 'absolute', 'top': originalTop}); 
    } 
  }); 
});

查看示例here

答案 1 :(得分:0)

我认为你在寻找

jquery-scroll-follow

插件