粘性导航过早地粘在上面

时间:2015-08-10 21:02:57

标签: jquery css twitter-bootstrap navbar sticky

我的网站上有一个粘性导航栏(基于Bootstrap),这是jQuery代码:

    $(document).ready(function () {

        var flag = false;

        function stickNav() {
            $(".navbar-default").affix({
                offset: {
                    top: $('.header-img').height()
                }
            });
            $(".navbar-default").css({ "width": $('.container').width(), "z-index": 1000 });
            $(".navbar-wrapper").css("height", $('.navbar-default').height());
            $(".header").css("height", $('.header-img').height());
            flag = true;

        }

        $(".header img").ready(function () {
            if (!flag)
                window.setInterval(stickNav, 10);
        });

        $(window).resize(function () {
            $(window).off('.affix');
            $('.navbar-default').removeData('bs.affix').removeClass('affix affix-top affix-bottom');
            stickNav();
        });

和css:

.affix {
    top: 0;
    width: 100%;
}

问题是导航器过早地贴在顶端,这是一个实例:http://nave.net23.net/Bootstrap/index.html

我的问题是我该如何解决?

感谢。

1 个答案:

答案 0 :(得分:1)

当我加载页面并在Chrome中遇到问题时(44.0.2403.130米),我可以在控制台中发出以下两行,然后滚动似乎正常工作(如Firefox中所示)。也许只需在页面加载函数中手动调用它们:

$(window).off('.affix');
$('.navbar-default').removeData('bs.affix').removeClass('affix affix-top affix-bottom');