How to hide/show nav bar when user scrolls up/down

后端 未结 6 1362
面向向阳花
面向向阳花 2020-12-12 18:49

Hide/show nav bar when user scrolls up/down

Here\'s the example I\'m trying to achieve: http://haraldurthorleifsson.com/ or http://www.teehanlax.com

6条回答
  •  庸人自扰
    2020-12-12 19:00

    css

    @media(min-width: 1079px){
        #header{
            width:100%;
            height:82px;
            border:1px solid grey;
            background-color: lightgreen;
            margin:0 auto;
            position:fixed;
            transition-property: all;
            transition-duration: 0.3s;
            transition-delay: 0s;
            transition-timing-function: ease-out;
        }
        nav{
            display: flex;
            justify-content: space-between;
        }
        nav .nav1{
            list-style-type: none;
            padding: 0px;
        }
        nav a{
            text-decoration: none;
            color:grey;
            padding: 13px;
            display: block;
            color: grey;
            margin-top: 15px;
        }
        a{
            text-decoration: none !important;
        }
        nav a:hover{
            color: red;
        }
        nav .nav1{
            display: flex;
            justify-content: flex-end;
        }
        .row2{
            background-color: skyblue;
            height:2000px;
            margin-top: 82px;
        }
    }
    

    html

    
    
    
    
        header2
        
        
       
        
    
    
        
            
        
        

    this is row2

    js

    function fun1()
    {
         var documentElem=$(document),
    
         lastScrollTop=0;
         scrollabc=80;
    
         documentElem.on('scroll',function()
         {
            var currentScrollTop=$(this).scrollTop();
            console.log(window.pageYOffset);
            if(currentScrollTop > scrollabc)
            {
                if(currentScrollTop>lastScrollTop)
                {
               //nav.addClass('hidden'); 
                document.getElementById("header").style.marginTop = "-80px";
                console.log("first if block");
                }
            else
            {
              // nav.removeClass('hidden'); 
               document.getElementById("header").style.marginTop = "0px";
               console.log("2nd if block");
            } 
        }
            lastScrollTop=currentScrollTop;
        })
    }
    
    
    
    fun1();
    

提交回复
热议问题