【问题标题】:Fixed header wont keep fixed after window is reloaded in same position窗口重新加载到相同位置后,固定标题不会保持固定
【发布时间】:2018-08-28 04:09:31
【问题描述】:

我有这段代码可以在每次滚动窗口时添加一个固定的标题类。问题是当窗口为锚链接加载时,比方说,距离顶部 100 像素,它将以原始外观加载标题,并且它只会在窗口滚动后添加固定类。 我该如何解决?

$(window).on("load resize", function () {
        var headerTop = $(".header").offset().top;
        var headerHeight = $(".header").outerHeight();
        $(window).on("scroll", function () {
            var scrollTop = $(window).scrollTop();
            if (scrollTop > headerTop) {
                $('.header').addClass("fixed");
            } else {
                $('.header').removeClass("fixed");
            }
        });
    });

【问题讨论】:

    标签: javascript jquery header fixed


    【解决方案1】:

    您正在使用$(".header").offset().top;if (scrollTop > headerTop) 条件下进行比较,您应该与if (scrollTop > headerHeight) 进行比较

    $(".header").outerHeight(); 变量具有标题元素的实际高度。

    请检查以下代码:

    $(window).on("load resize", function () {
        var headerTop = $(".header").offset().top;
        var headerHeight = $(".header").outerHeight();
        $(window).on("scroll", function () {
            console.log('scroll...');
            var scrollTop = $(window).scrollTop();
            if (scrollTop > headerHeight) {
                console.log('applied fiexed');
                $('.header').addClass("fixed");
            } else {
                $('.header').removeClass("fixed");
                console.log('removed fiexed');
            }
        });
    });
    .header{
        border:solid 1px red;
        height:50px;
        width:501px;
        background-color:#808080;
        font-size:20px;
    }
    
    .fixed{
        position:fixed;
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    
    <div class="header">This is header</div>
    Something line 1<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    Something line 2<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    Something line 3<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    Something line 4<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
    Something line 5

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-24
      相关资源
      最近更新 更多