頁面導航欄上拉顯示下拉隱藏


1)  頁面加載時導航欄懸浮在頁面的上方,當滾動條向下滾動時導航欄隱藏,當滾動條向上滾動時導航欄顯示。

 

2)  頁面打開時,先獲取到頁面的滾動條的初始高度(也可直接設為0),作用是初始化一個值,用於后面事件觸發后進行判斷。

​     再獲取導航欄的高度,作用是在初始位置進行下拉頁面后,在什么時候觸發導航欄隱藏。 最后寫滾動條觸發函數

 

3)  事件觸發后,首先判斷事件發生后滾動條的高度與導航欄的高度。 當判斷為True時,導航條隱藏;當判斷為False時,導航條出現。

   然后判斷本次事件導航條的高度與上次事件導航條的高度。 

   當上次高度,低於本次高度,說明用戶在看下面的內容,導航欄隱藏 
   當上次高度,高於本次高度,說明用戶在看上面的內容,導航欄出現

 1 <!DOCTYPE html>  
 2 <html lang="en">  
 3 <head>  
 4     <meta charset="UTF-8">  
 5     <title>Title</title>  
 6     <style>  
 7         /* 導航欄樣式 */  
 8         .navigation{  
 9             width: 100%;  
10             height: 50px;  
11             background-color: #d0f079;  
12             position: fixed;           
13             left:0;  
14             top: 0;  
15             text-align: center;  
16             transition: top 0.5s;      
17         }  
18         /* 隱藏效果 */  
19         .hide{  
20             top: -60px;  
21         }  
22         /* 內容欄樣式 */  
23         .content{  
24             width: 80%;  
25             height: 5000px;  
26             margin: 60px auto;  
27             background-color: #41bcff;  
28             text-align: center;  
29         }  
30   
31     </style>  
32 </head>  
33 <body>  
34   
35 <div class="navigation">導航菜單欄</div>  
36 <div class="content">內容</div>  
37 //此處jquery路徑要替換  
38 <script src="js/jquery-2.0.3.js"></script>  
39 <script>  
40     $(function(){  
41         //頁面初始化的時候,獲取滾動條的高度(上次高度)  
42         var start_height = $(document).scrollTop();  
43         //獲取導航欄的高度(包含 padding 和 border)  
44         var navigation_height = $('.navigation').outerHeight();  
45         $(window).scroll(function() {  
46             //觸發滾動事件后,滾動條的高度(本次高度)  
47             var end_height = $(document).scrollTop();  
48             //觸發后的高度 與 元素的高度對比  
49             if (end_height > navigation_height){  
50                 $('.navigation').addClass('hide');  
51             }else {  
52                 $('.navigation').removeClass('hide');  
53             }  
54             //觸發后的高度 與 上次觸發后的高度  
55             if (end_height < start_height){  
56                 $('.navigation').removeClass('hide');  
57             }  
58             //再次獲取滾動條的高度,用於下次觸發事件后的對比  
59             start_height = $(document).scrollTop();  
60         });  
61     });  
62 </script>  
63 </body>  
64 </html>  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM