当元素设置为固定时,我会丢失滚动条

时间:2013-06-25 14:26:07

标签: jquery scroll fixed

我有一个页面,我必须防止某些图层在到达某个位置时向上滚动。我正在使用jQuery来实现这一目标。我已经在不同层面的几个页面上做到了这一点,没有任何问题。

但是,我在其中一个页面上遇到了这个奇怪的问题..

当我停止滚动元素时,我会丢失窗口滚动条。

我使用这个jQuery代码

$(window).scroll(function(){

var scrollTop = $(window).scrollTop();

  if (scrollTop > 404){
    $('#sub-header').css('position','fixed')
    $('#sub-header').css('top','66px')
  }
}); // close window scroll function

在我试图锁定的那个之后还有12个div元素,它们被设置为400px的高度。我很困惑为什么窗口不读取子标题下面的内容。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:1)

如果元素已设置为固定,则它们将不再获得滚动条,请参阅此处以获取示例:http://jsfiddle.net/BqaRW/

HTML

<div></div>

CSS

div{
    border: 1px solid red;
    width: 100px;
    height: 400px;

    position: fixed;
    bottom: -300px;
}

答案 1 :(得分:0)

在这个特殊情况下,问题是应该在固定标题下的div实际上是由标题包装的。合乎逻辑的是,具有固定高度的大型div会自动将其溢出的内容呈现为不可扫描的内容。您无法同时修复和滚动页面中的相同元素。