美文网首页
实现滚动到一定位置时,导航栏置顶的效果

实现滚动到一定位置时,导航栏置顶的效果

作者: 任人渐疏_Must | 来源:发表于2020-06-11 09:39 被阅读0次

    html部分

    <body>
    <h1>1</h1>
    <h1>2</h1>
    <h1>1</h1>
    <h1>2</h1>
    <div class="top">
        <ul>
            <li><a href="#">1</a></li>
            <li><a href="#">2</a></li>
            <li><a href="#">3</a></li>
            <li><a href="#">4</a></li>
            <li><a href="#">5</a></li>
        </ul>
    </div>
    
    </body>
    
    
    

    css部分

    <style>
     
            .top{
                width:100%;
                height:50px;
                background:green;
    
            }
            .top ul li{
                list-style:none;
                display:inline-block;
                margin-right:100px;
                line-height:50px;
            }
            a{
                color:gray;
                text-decoration:none;
            }
    /*动态使用 */
            .navbar-fixed-top{
               position:fixed;
                top:0;
                left:0;
            }
        </style>
    
    

    js

    <script>
        $(function(){
            var banOffTop=$(".top").offset().top;//获取到距离顶部的垂直距离
            var scTop=0;//初始化垂直滚动的距离
            $(document).scroll(function(){
                scTop=$(this).scrollTop();//获取到滚动条拉动的距离
                console.log(scTop);//查看滚动时,垂直方向上,滚动条滚动的距离
                if(scTop>=banOffTop){
                //核心部分:当滚动条拉动的距离大于等于导航栏距离顶部的距离时,添加指定的样式
                    $(".top").addClass("navbar-fixed-top");
                }else{
                    $(".top").removeClass("navbar-fixed-top");
                }
    
            })
        })
    </script>
    
    
    

    注意:如果css中设置的height:100%,则这个滚动无效果

    相关文章

      网友评论

          本文标题:实现滚动到一定位置时,导航栏置顶的效果

          本文链接:https://www.haomeiwen.com/subject/doxazhtx.html