1. 程式人生 > >實現滾動到一定位置時,導航欄置頂的效果

實現滾動到一定位置時,導航欄置頂的效果

html部分:

<body>
<h1>標題1</h1>
<h1>標題2</h1>
<h1>標題1</h1>
<h1>標題2</h1>
<div class="banner">
    <ul>
        <li><a href="#">標題1</a></li>
        <li><a href="#">標題1</a></li>
        <li><a href="#">標題1</a></li>
        <li><a href="#">標題1</a></li>
        <li><a href="#">標題1</a></li>
    </ul>
</div>
<img src="1.jpg">
</body>

css部分:

<style>
        html,body{
            width:100%;
        }
        .banner{
            width:100%;
            height:50px;
            background:pink;

        }
        .banner ul li{
            list-style:none;
            display:inline-block;
            margin-right:100px;
            line-height:50px;
        }
        a{
            color:gray;
            text-decoration:none;
        }
       //下面這個類為動態新增的類
        .fixDiv{
           position:fixed;
            top:0;
            left:0;
        }
    </style>

js部分:

<script>
    $(function(){
        var banOffTop=$(".banner").offset().top;//獲取到距離頂部的垂直距離
        var scTop=0;//初始化垂直滾動的距離
        $(document).scroll(function(){
            scTop=$(this).scrollTop();//獲取到滾動條拉動的距離
            //console.log(scTop);檢視滾動時,垂直方向上,滾動條滾動的距離
            if(scTop>=banOffTop){
            //核心部分:當滾動條拉動的距離大於等於導航欄距離頂部的距離時,新增指定的樣式
                $(".banner").addClass("fixDiv");
            }else{
                $(".banner").removeClass("fixDiv");
            }

        })
    })
</script>

結果:
(1)初始樣式:
在這裡插入圖片描述
(2)當滾動到頂部時,導航欄固定在頂部:
在這裡插入圖片描述