javascript - 当导航栏到达页面顶部时,我的粘性 header 导致后续的 div 跳转约 100 像素,无法找出解决方法?

标签 javascript jquery html css

正如我的标题所说,当导航栏到达页面顶部时,我的粘性 header 导致后续的 div 跳转大约 100 像素。这就像 home div 神奇地失去了 100 像素的高度。我已经尝试了几件事,但一直无法让它发挥作用。

我已经添加了平滑滚动的插件,但无法让它在 jsfiddle 中工作。如果在导航栏到达页面顶部时缓慢向下滚动,您会注意到跳过。

感谢您的帮助!

http://jsfiddle.net/g9N78/2/

这是我用于粘性 header 的代码:

<script>
    function moveScroller() {
        var move = function() {
            var st = $(window).scrollTop();
            var ot = $("#nav").offset().top;
            var s = $(".nav");
            if(st > ot) {
                s.css({
                    position: "fixed",
                    top: "0",
                    background: "rgba(0,0,0,0.65)"
                });   
            } else {
                if(st <= ot) {
                    s.css({
                        position: "",
                        top: "",
                        background: "black"
                    });
                } 
            }
        };
        $(window).scroll(move);
        move();
    }
</script> 



<script type="text/javascript"> 
    $(function() {
    moveScroller();
    });
</script> 

最佳答案

由于您要从 DOM 流中删除该对象,因此空间可用并且下面的元素占用了它,您可以像这样向 #home 添加一些 margin:

$('#home').css('marginTop','100px');

查看此演示 http://jsfiddle.net/g9N78/3/

关于javascript - 当导航栏到达页面顶部时,我的粘性 header 导致后续的 div 跳转约 100 像素,无法找出解决方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21435947/

相关文章:

javascript - 使用纯 CSS 或原生 JS 使图标插入 via::after 可操作

php - 使用分页器 (backbone.js) 时无法检测用户是否已登录

javascript - 如何测试我的应用程序漫游设置

javascript - 使用 JQuery 换行内容,包括文本

php - 确保两个人不会在我的网络应用程序上编辑同一行的最佳方法是什么?

javascript - 如何从同一 html 页面上的多个按钮打开一个对话框

javascript - vue-google-maps - 如何设置 map 样式?

javascript - 鼠标移动时出现,静止时消失的导航栏

html - Bootstrap 表单,列在必填字段中未按预期工作

javascript - 位置固定在 bootstrap 'affix' 不工作