簡體   English   中英

具有滾動效果的粘性導航欄在Codepen上無法在瀏覽器上運行

[英]Sticky Navigation Bar with scroll effect doesn't work on browser while it does on codepen

我正在嘗試在網站上添加一個粘性導航欄,該導航欄在我向下滾動到特定點后才會生效。 好吧,我知道職位如何運作,堅持下去我做得很好。 但是問題是,當我嘗試使用JS和JQuery進行向下滾動時,它並不粘滯。 我指的是同一個人的tut,碰巧也看到“ codepen.io”上的代碼。 但是,當我在計算機和瀏覽器上嘗試使用完全相同的代碼時,它也不起作用。 奇怪的是,相同的代碼可以在jsfiddle.net和codepen.io上運行,但是當我用記事本++嘗試時,它根本不起作用。 我不知道我在哪里犯錯。

這是我的代碼的pastebin >> 粘性導航完整代碼

這是Jsfiddle鏈接>> 具有向下滾動效果的粘性導航

<!DOCTYPE HTML>
<html>
<head>
    <title>
        Sticky Navigation Bar
    </title>
    <script src="jquery.min.js" type="text/javascript"></script>

    <script>
        var  mn = $(".main-nav");
        mns = "main-nav-scrolled";
        hdr = $('header').height();

        $(window).scroll(function() {
            if( $(this).scrollTop() > hdr ) {
                mn.addClass(mns);
            } else {
                mn.removeClass(mns);
            }
        });
    </script>

    <style>
        *{
        box-sizing: border-box;
        }
        body {
          margin: 0;
          padding-top: 250px;
        }
        header {
          height: 300px;
          padding-top: 50px;
          background: #f07057;
        }
        .main-nav,
        .main {
          position: relative; 
        }
        .main-nav {
          background: #fff;
          height: 80px;
          z-index: 150;
          margin-bottom: -80px;
          box-shadow: 0 2px 3px rgba(0,0,0,.4);
        }
        header,
        .main-nav-scrolled {
          position: fixed;
          width: 100%;
          top: 0;
        }
        .main {
          background: #f2f2e8;
          padding: 110px 50px 50px;
          column-count: 2;
          column-gap: 40px;
        }
    </style>        
</head>

<body>
    <header>
        <h1>This is a Sticky Nav Demo!</h1>
        <p>Creating one of these isn't so bad. Let's learn how with this sweet little demo!</p>
    </header>
    <nav class="main-nav">
        <a href="#">Nav Link 1</a>
        <a href="#">Nav Link 2</a>
        <a href="#">Nav Link 3</a>
        <a href="#">Nav Link 4</a>
    </nav>
    <div class="main">
        <h2>Lorem ipsum dolor sit amet</h2>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean fringilla, purus in porttitor pellentesque, erat arcu tincidunt diam, dapibus faucibus leo mauris at sapien. In porttitor vehicula sodales. Vivamus massa neque, facilisis eu felis ut, aliquet convallis nisi. Nam elementum tellus vitae gravida fermentum. Nullam et imperdiet leo. Integer ut euismod lorem, in placerat lacus. Curabitur bibendum arcu ut feugiat commodo. Suspendisse ut mi vel orci ullamcorper tincidunt. Nam vitae fringilla nibh. Nullam hendrerit blandit velit eu hendrerit.</p>

        <p>Praesent eu enim non massa pellentesque lobortis. In in sagittis dolor. Aliquam non massa erat. Ut aliquet gravida tellus, sed volutpat nibh condimentum et. Nunc quam purus, vehicula quis venenatis et, porttitor vel dolor. Cras facilisis dui id elit bibendum, in ullamcorper leo ultricies. Praesent rutrum lacus sit amet sem convallis, ut interdum dolor vestibulum.</p>

        <p>Tum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In iaculis pharetra odio, sit amet consectetur elit facilisis ac. Praesent eget tristique ipsum. Donec malesuada bibendum lacinia. Praesent non purus sodales, pulvinar mi vitae, tincidunt leo. Phasellus vitae elit ut nisl semper fringilla id rutrum dolor. Donec a massa adipiscing, cursus risus vitae, porttitor tortor. Nullam sagittis est sapien, sit amet pharetra turpis imperdiet vel. Etiam sit amet ligula pretium, vulputate eros ac, bibendum velit. Aenean convallis ante purus, ac bibendum orci laoreet ac. Donec a convallis mauris. Nulla non lacus non ipsum pretium tempor. In hac habitasse platea dictumst. Aenean at ipsum vulputate, sagittis dui ut, pharetra neque. Nam eget sodales orci. Aliquam pharetra nunc at nisl pellentesque, nec fringilla enim iaculis.</p>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean fringilla, purus in porttitor pellentesque, erat arcu tincidunt diam, dapibus faucibus leo mauris at sapien. In porttitor vehicula sodales. Vivamus massa neque, facilisis eu felis ut, aliquet convallis nisi. Nam elementum tellus vitae gravida fermentum. Nullam et imperdiet leo. Integer ut euismod lorem, in placerat lacus. Curabitur bibendum arcu ut feugiat commodo. Suspendisse ut mi vel orci ullamcorper tincidunt. Nam vitae fringilla nibh. Nullam hendrerit blandit velit eu hendrerit.</p>

        <p>Praesent eu enim non massa pellentesque lobortis. In in sagittis dolor. Aliquam non massa erat. Ut aliquet gravida tellus, sed volutpat nibh condimentum et. Nunc quam purus, vehicula quis venenatis et, porttitor vel dolor. Cras facilisis dui id elit bibendum, in ullamcorper leo ultricies. Praesent rutrum lacus sit amet sem convallis, ut interdum dolor vestibulum.</p>

        <p>Tum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In iaculis pharetra odio, sit amet consectetur elit facilisis ac. Praesent eget tristique ipsum. Donec malesuada bibendum lacinia. Praesent non purus sodales, pulvinar mi vitae, tincidunt leo. Phasellus vitae elit ut nisl semper fringilla id rutrum dolor. Donec a massa adipiscing, cursus risus vitae, porttitor tortor. Nullam sagittis est sapien, sit amet pharetra turpis imperdiet vel. Etiam sit amet ligula pretium, vulputate eros ac, bibendum velit. Aenean convallis ante purus, ac bibendum orci laoreet ac. Donec a convallis mauris. Nulla non lacus non ipsum pretium tempor. In hac habitasse platea dictumst. Aenean at ipsum vulputate, sagittis dui ut, pharetra neque. Nam eget sodales orci. Aliquam pharetra nunc at nisl pellentesque, nec fringilla enim iaculis.</p>
    </div>
</body>
</html>

我已經通過放置解決了我的問題:

<script>
    var  mn = $(".main-nav");
    mns = "main-nav-scrolled";
    hdr = $('header').height();

    $(window).scroll(function() {
        if( $(this).scrollTop() > hdr ) {
            mn.addClass(mns);
        } else {
            mn.removeClass(mns);
        }
    });
</script>

在文檔末尾,然后關閉</body>標簽。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM