頁面滾動到指定位置導航欄固定頂部

做一個網頁時經常會用到導航欄,導航欄對於一個網站來說,地位是舉足輕重的,在用到導航欄時,我們經常會用到一個效果,就是當頁面滑動到一定的位置時,導航欄需要固定在頁面的頂部,這是怎麼實現的呢?
下面的代碼會告訴你答案

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>頁面滾動到指定位置導航欄固定頂部</title>
        <style type="text/css">
             body{height: 2500px; margin: 0; padding: 0;}
            .banner{height: 250px; width: 100%; background: #e5e5e5;}
            .bignav{width: 100%; background: #000;}
            .nav{ background:#000; width: 1200px; margin: 0 auto; height: 45px;}
            .nav a{display: block; width: 200px;float: left; color: #fff; text-decoration: none; text-align: center; line-height: 45px;}
        </style>
    </head>
    <body>
        <div class="banner">

        </div>
        <div class="bignav" id="bignav">
            <div class="nav">
                <a href="#">首頁</a>
                <a href="#">導航1</a>
                <a href="#">導航1</a>
                <a href="#">導航1</a>
            </div>
        </div>
        <p>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Aperiam quis, ducimus reiciendis fugit provident reprehenderit quam, soluta quisquam, tenetur voluptatum quibusdam eum. Necessitatibus molestias natus dolores tempora reiciendis eum dolorum.</p>
        <p>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Aperiam quis, ducimus reiciendis fugit provident reprehenderit quam, soluta quisquam, tenetur voluptatum quibusdam eum. Necessitatibus molestias natus dolores tempora reiciendis eum dolorum.</p>
        <p>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Aperiam quis, ducimus reiciendis fugit provident reprehenderit quam, soluta quisquam, tenetur voluptatum quibusdam eum. Necessitatibus molestias natus dolores tempora reiciendis eum dolorum.</p>
        <p>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Aperiam quis, ducimus reiciendis fugit provident reprehenderit quam, soluta quisquam, tenetur voluptatum quibusdam eum. Necessitatibus molestias natus dolores tempora reiciendis eum dolorum.</p>

        <script type="text/javascript">
            window.onscroll=function(){
                var topScroll =document.body.scrollTop;//滾動的距離,距離頂部的距離
                var bignav  = document.getElementById("bignav");//獲取到導航欄id
                if(topScroll > 250){  //當滾動距離大於250px時執行下面的東西
                    bignav.style.position = 'fixed';
                    bignav.style.top = '0';
                    bignav.style.zIndex = '9999';
                }else{//當滾動距離小於250的時候執行下面的內容,也就是讓導航欄恢復原狀
                    bignav.style.position = 'static';
                }
            }

         /*jquery*/

          /*  $(window).scroll(function(){
            var bignav =$("bignav");      //獲取到導航欄
            if($(this).scrollTop() >250){  //當滾動距離大於250px時執行下面的東西
                bignav.css({
                    width:"100%",
                    position:"fixed",
                    top:0,
                    zIndex:9999
                });
            }
            else{//當滾動距離小於250的時候執行下面的內容,也就是讓導航欄恢復原狀
                bignav.css("position","static");
            }
        });*/
        </script>
    </body>
</html>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章