how to fix a navbar but only when uploading












1















I hope you can help me. I want my navbar to be fixed but only when I go up, that is to say when it goes down it disappears but at the time of uploading it is visible, like chevrolet.



<nav class="navbar navbar-inverse">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">App Web</a>
</div>

<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li><a href="index.html"><span class="glyphicon glyphicon-home"></span> x</a></li>
<li><a href="#"><span class="glyphicon glyphicon-inbox"></span> x</a></li>
<li><a href="#"><span class="glyphicon glyphicon-user"></span> z</a></li>
</ul>
</div>
</div>
</nav>









share|improve this question

























  • you'll need javascript to detect the scroll position and show the element

    – stackers
    Nov 12 '18 at 21:18
















1















I hope you can help me. I want my navbar to be fixed but only when I go up, that is to say when it goes down it disappears but at the time of uploading it is visible, like chevrolet.



<nav class="navbar navbar-inverse">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">App Web</a>
</div>

<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li><a href="index.html"><span class="glyphicon glyphicon-home"></span> x</a></li>
<li><a href="#"><span class="glyphicon glyphicon-inbox"></span> x</a></li>
<li><a href="#"><span class="glyphicon glyphicon-user"></span> z</a></li>
</ul>
</div>
</div>
</nav>









share|improve this question

























  • you'll need javascript to detect the scroll position and show the element

    – stackers
    Nov 12 '18 at 21:18














1












1








1








I hope you can help me. I want my navbar to be fixed but only when I go up, that is to say when it goes down it disappears but at the time of uploading it is visible, like chevrolet.



<nav class="navbar navbar-inverse">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">App Web</a>
</div>

<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li><a href="index.html"><span class="glyphicon glyphicon-home"></span> x</a></li>
<li><a href="#"><span class="glyphicon glyphicon-inbox"></span> x</a></li>
<li><a href="#"><span class="glyphicon glyphicon-user"></span> z</a></li>
</ul>
</div>
</div>
</nav>









share|improve this question
















I hope you can help me. I want my navbar to be fixed but only when I go up, that is to say when it goes down it disappears but at the time of uploading it is visible, like chevrolet.



<nav class="navbar navbar-inverse">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">App Web</a>
</div>

<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li><a href="index.html"><span class="glyphicon glyphicon-home"></span> x</a></li>
<li><a href="#"><span class="glyphicon glyphicon-inbox"></span> x</a></li>
<li><a href="#"><span class="glyphicon glyphicon-user"></span> z</a></li>
</ul>
</div>
</div>
</nav>






html css






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 12 '18 at 21:17







Luis Carlos Zuñiga

















asked Nov 12 '18 at 20:52









Luis Carlos Zuñiga Luis Carlos Zuñiga

44




44













  • you'll need javascript to detect the scroll position and show the element

    – stackers
    Nov 12 '18 at 21:18



















  • you'll need javascript to detect the scroll position and show the element

    – stackers
    Nov 12 '18 at 21:18

















you'll need javascript to detect the scroll position and show the element

– stackers
Nov 12 '18 at 21:18





you'll need javascript to detect the scroll position and show the element

– stackers
Nov 12 '18 at 21:18












1 Answer
1






active

oldest

votes


















0














A quick google search brought up this article which I think answers your question nicely: Medium.com/HideHeaderOnScrollDown.



HTML:



<header class="nav-down">
This is your menu.
</header>
<main>
This is your body.
</main>
<footer>
This is your footer.
</footer>


CSS:



body {
padding-top: 40px; // same as header height
}
header {
background: #f5b335;
height: 40px;
position: fixed;
top: 0;
transition: top 0.2s ease-in-out;
width: 100%;
}
// add this class using javascript
.nav-up {
top: -40px; // same as header height. use variables in LESS/SASS
}


JavaScript & jQuery:



// Hide Header on on scroll down
var didScroll;
var lastScrollTop = 0;
var delta = 5;
var navbarHeight = $('header').outerHeight();

$(window).scroll(function(event){
didScroll = true;
});

setInterval(function() {
if (didScroll) {
hasScrolled();
didScroll = false;
}
}, 250);

function hasScrolled() {
var st = $(this).scrollTop();

// Make sure they scroll more than delta
if(Math.abs(lastScrollTop - st) <= delta)
return;

// If they scrolled down and are past the navbar, add class .nav-up.
// This is necessary so you never see what is "behind" the navbar.
if (st > lastScrollTop && st > navbarHeight){
// Scroll Down
$('header').removeClass('nav-down').addClass('nav-up');
} else {
// Scroll Up
if(st + $(window).height() < $(document).height()) {
$('header').removeClass('nav-up').addClass('nav-down');
}
}

lastScrollTop = st;
}


The JSFiddle for this code is here



Without seeing more of your code it's hard for me to tailor this example to your exact needs, however you should be able to change a few things, like the padding-top on body to be the same as your header height, to make this work.






share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53269918%2fhow-to-fix-a-navbar-but-only-when-uploading%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    A quick google search brought up this article which I think answers your question nicely: Medium.com/HideHeaderOnScrollDown.



    HTML:



    <header class="nav-down">
    This is your menu.
    </header>
    <main>
    This is your body.
    </main>
    <footer>
    This is your footer.
    </footer>


    CSS:



    body {
    padding-top: 40px; // same as header height
    }
    header {
    background: #f5b335;
    height: 40px;
    position: fixed;
    top: 0;
    transition: top 0.2s ease-in-out;
    width: 100%;
    }
    // add this class using javascript
    .nav-up {
    top: -40px; // same as header height. use variables in LESS/SASS
    }


    JavaScript & jQuery:



    // Hide Header on on scroll down
    var didScroll;
    var lastScrollTop = 0;
    var delta = 5;
    var navbarHeight = $('header').outerHeight();

    $(window).scroll(function(event){
    didScroll = true;
    });

    setInterval(function() {
    if (didScroll) {
    hasScrolled();
    didScroll = false;
    }
    }, 250);

    function hasScrolled() {
    var st = $(this).scrollTop();

    // Make sure they scroll more than delta
    if(Math.abs(lastScrollTop - st) <= delta)
    return;

    // If they scrolled down and are past the navbar, add class .nav-up.
    // This is necessary so you never see what is "behind" the navbar.
    if (st > lastScrollTop && st > navbarHeight){
    // Scroll Down
    $('header').removeClass('nav-down').addClass('nav-up');
    } else {
    // Scroll Up
    if(st + $(window).height() < $(document).height()) {
    $('header').removeClass('nav-up').addClass('nav-down');
    }
    }

    lastScrollTop = st;
    }


    The JSFiddle for this code is here



    Without seeing more of your code it's hard for me to tailor this example to your exact needs, however you should be able to change a few things, like the padding-top on body to be the same as your header height, to make this work.






    share|improve this answer




























      0














      A quick google search brought up this article which I think answers your question nicely: Medium.com/HideHeaderOnScrollDown.



      HTML:



      <header class="nav-down">
      This is your menu.
      </header>
      <main>
      This is your body.
      </main>
      <footer>
      This is your footer.
      </footer>


      CSS:



      body {
      padding-top: 40px; // same as header height
      }
      header {
      background: #f5b335;
      height: 40px;
      position: fixed;
      top: 0;
      transition: top 0.2s ease-in-out;
      width: 100%;
      }
      // add this class using javascript
      .nav-up {
      top: -40px; // same as header height. use variables in LESS/SASS
      }


      JavaScript & jQuery:



      // Hide Header on on scroll down
      var didScroll;
      var lastScrollTop = 0;
      var delta = 5;
      var navbarHeight = $('header').outerHeight();

      $(window).scroll(function(event){
      didScroll = true;
      });

      setInterval(function() {
      if (didScroll) {
      hasScrolled();
      didScroll = false;
      }
      }, 250);

      function hasScrolled() {
      var st = $(this).scrollTop();

      // Make sure they scroll more than delta
      if(Math.abs(lastScrollTop - st) <= delta)
      return;

      // If they scrolled down and are past the navbar, add class .nav-up.
      // This is necessary so you never see what is "behind" the navbar.
      if (st > lastScrollTop && st > navbarHeight){
      // Scroll Down
      $('header').removeClass('nav-down').addClass('nav-up');
      } else {
      // Scroll Up
      if(st + $(window).height() < $(document).height()) {
      $('header').removeClass('nav-up').addClass('nav-down');
      }
      }

      lastScrollTop = st;
      }


      The JSFiddle for this code is here



      Without seeing more of your code it's hard for me to tailor this example to your exact needs, however you should be able to change a few things, like the padding-top on body to be the same as your header height, to make this work.






      share|improve this answer


























        0












        0








        0







        A quick google search brought up this article which I think answers your question nicely: Medium.com/HideHeaderOnScrollDown.



        HTML:



        <header class="nav-down">
        This is your menu.
        </header>
        <main>
        This is your body.
        </main>
        <footer>
        This is your footer.
        </footer>


        CSS:



        body {
        padding-top: 40px; // same as header height
        }
        header {
        background: #f5b335;
        height: 40px;
        position: fixed;
        top: 0;
        transition: top 0.2s ease-in-out;
        width: 100%;
        }
        // add this class using javascript
        .nav-up {
        top: -40px; // same as header height. use variables in LESS/SASS
        }


        JavaScript & jQuery:



        // Hide Header on on scroll down
        var didScroll;
        var lastScrollTop = 0;
        var delta = 5;
        var navbarHeight = $('header').outerHeight();

        $(window).scroll(function(event){
        didScroll = true;
        });

        setInterval(function() {
        if (didScroll) {
        hasScrolled();
        didScroll = false;
        }
        }, 250);

        function hasScrolled() {
        var st = $(this).scrollTop();

        // Make sure they scroll more than delta
        if(Math.abs(lastScrollTop - st) <= delta)
        return;

        // If they scrolled down and are past the navbar, add class .nav-up.
        // This is necessary so you never see what is "behind" the navbar.
        if (st > lastScrollTop && st > navbarHeight){
        // Scroll Down
        $('header').removeClass('nav-down').addClass('nav-up');
        } else {
        // Scroll Up
        if(st + $(window).height() < $(document).height()) {
        $('header').removeClass('nav-up').addClass('nav-down');
        }
        }

        lastScrollTop = st;
        }


        The JSFiddle for this code is here



        Without seeing more of your code it's hard for me to tailor this example to your exact needs, however you should be able to change a few things, like the padding-top on body to be the same as your header height, to make this work.






        share|improve this answer













        A quick google search brought up this article which I think answers your question nicely: Medium.com/HideHeaderOnScrollDown.



        HTML:



        <header class="nav-down">
        This is your menu.
        </header>
        <main>
        This is your body.
        </main>
        <footer>
        This is your footer.
        </footer>


        CSS:



        body {
        padding-top: 40px; // same as header height
        }
        header {
        background: #f5b335;
        height: 40px;
        position: fixed;
        top: 0;
        transition: top 0.2s ease-in-out;
        width: 100%;
        }
        // add this class using javascript
        .nav-up {
        top: -40px; // same as header height. use variables in LESS/SASS
        }


        JavaScript & jQuery:



        // Hide Header on on scroll down
        var didScroll;
        var lastScrollTop = 0;
        var delta = 5;
        var navbarHeight = $('header').outerHeight();

        $(window).scroll(function(event){
        didScroll = true;
        });

        setInterval(function() {
        if (didScroll) {
        hasScrolled();
        didScroll = false;
        }
        }, 250);

        function hasScrolled() {
        var st = $(this).scrollTop();

        // Make sure they scroll more than delta
        if(Math.abs(lastScrollTop - st) <= delta)
        return;

        // If they scrolled down and are past the navbar, add class .nav-up.
        // This is necessary so you never see what is "behind" the navbar.
        if (st > lastScrollTop && st > navbarHeight){
        // Scroll Down
        $('header').removeClass('nav-down').addClass('nav-up');
        } else {
        // Scroll Up
        if(st + $(window).height() < $(document).height()) {
        $('header').removeClass('nav-up').addClass('nav-down');
        }
        }

        lastScrollTop = st;
        }


        The JSFiddle for this code is here



        Without seeing more of your code it's hard for me to tailor this example to your exact needs, however you should be able to change a few things, like the padding-top on body to be the same as your header height, to make this work.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 12 '18 at 22:44









        Sophia PriceSophia Price

        6711




        6711






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53269918%2fhow-to-fix-a-navbar-but-only-when-uploading%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Coverage of Google Street View

            Full-time equivalent

            Surfing