首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在div上将条件“static”改为“fixed”会导致滚动抖动

问在div上将条件“static”改为“fixed”会导致滚动抖动
EN

Stack Overflow用户
提问于 2012-10-31 03:53:13
回答 1查看 1.2K关注 0票数 0

我有一个顶部导航栏,它的位置是:"static",但当用户滚动超过导航栏的高度时,位置会变为"fixed",这样导航栏就会附加到窗口的顶部。当滚动回到页面顶部时,它也会切换回“静态”。

导航栏有一个静态横幅div,它保留在页面的顶部。当窗口顶部滚动到导航栏下方时,它将更改为位置:"fixed“。

我遇到过一些抖动,当页面刚刚足够长到需要滚动,但不足以保持滚动高度和导航栏为“固定”,所以当滚动到页面底部时,导航栏在“静态”和“固定”之间抖动。

我已经发布了我如何设置它的jsfiddle,但不能完全复制我正在经历的问题:http://jsfiddle.net/bB7Bf/

HTML:

代码语言:javascript
复制
<div id="topMaterial">Static Top doesn't move</div>
<div id="ktNavbar">topbar that sticks to top of window after scrolls below static height</div>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

JS:

代码语言:javascript
复制
$(function() {
var navScroll = $(window).scroll(function() {

    var scrollPosition = $(this).scrollTop();

    if (scrollPosition > 120) $("#ktNavbar").css({
        "position": "fixed",
        "top": 0,
        "left": 0,
        "right": 0
    });

    else $("#ktNavbar").css("position", "static");
    });
});​

有没有办法防止“静态”和“固定”之间的滚动条件抖动?

EN

回答 1

Stack Overflow用户

发布于 2012-10-31 04:30:53

为什么不在整个时间内保持固定,并在下面的任何内容上添加一个上边距?不需要js。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13146642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档