當滑鼠滾動到指定位置,選單固定在頂部
本章節分享一段程式碼例項,它實現了滑鼠滾動的時候,開始導航選單也是一起滾動的。
當滾動到一定的尺寸,比如到達頂端的時候就可以固定。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> * { margin:0px; padding:0px; } .wrapper { width: 1000px; height: 2000px; margin-left: auto; margin-right: auto; } .header { height: 150px; } #nav { padding: 10px; position: relative; top: 0; background: black; width: 1000px; } a { display: inline-block; margin: 0 10px; *display: inline; zoom: 1; color: white; } </style> <script> function menuFixed(id) { var obj = document.getElementById(id); var _getHeight = obj.offsetTop; window.onscroll = function () { changePos(id, _getHeight); } } function changePos(id, height) { var obj = document.getElementById(id); var scrollTop = document.documentElement.scrollTop || document.body.scrollTop; if (scrollTop < height) { obj.style.position = 'relative'; } else { obj.style.position = 'fixed'; } } window.onload = function () { menuFixed('nav'); } </script> </head> <body> <div class="wrapper"> <div class="header"></div> <div id="nav"> <a href="#">螞蟻部落一</a> <a href="#">螞蟻部落二</a> <a href="#">螞蟻部落三</a> <a href="#">螞蟻部落四</a> <a href="#">螞蟻部落五</a> </div> </div> </body> </html>
上面的程式碼實現了我們的要求,下面介紹一下它的實現過程。
一.程式碼註釋:
(1).function menuFixed(id) {},引數是要懸停玄素的id屬性值。
(2).var obj = document.getElementById(id),獲取對應的元素物件。
(3).var _getHeight = obj.offsetTop,獲取元素距離body元素頂端的距離。
(4).window.onscroll = function () {
changePos(id, _getHeight);
},註冊onscroll事件處理函式。
也就是當拖動滾動條的時候會呼叫changePos()方法。
(5).function changePos(id, height) {},第一個引數是元素的id屬性值,第二個引數是元素距離body頂部的距離。
(6).var obj = document.getElementById(id),獲取對應的元素物件。
(7).var scrollTop = document.documentElement.scrollTop || document.body.scrollTop,獲取向上滾動的尺寸。
(8).if (scrollTop < height) {
obj.style.position = 'relative';
} else {
obj.style.position = 'fixed';
},如果向上滾動的尺寸小於元素距離body頂端的尺寸,那麼元素的定位方式為相對定位。
否則就是fixed定位方式。
二.相關閱讀:
(1).offsetTop參閱JavaScript offsetTop一章節。
(2).onscroll事件參閱JavaScript scroll事件一章節。
(3).scrollTop參閱JavaScript scrollTop一章節。
相關文章
- 固定在頂部的導航選單
- 滾動到指定位置jsJS
- scrollview滾動到指定位置View
- 滾動到頂部踩坑記錄
- Android ScrollView滾動到指定View的位置AndroidView
- JavaScript 滾動條定位指定位置JavaScript
- 元素滾動到指定位置以後可以實現固定效果
- div有滾動條 返回頂部
- 原生JS實現隨著滑鼠滾動到元素位置觸發對應css3動畫,簡單易用滾動監測JSCSSS3動畫
- 新增一行,滾動到最左側,滾動到當前行,定位到當前行
- 部落格園裝飾——(二)滾動到頁面頂部或底部
- 三種方式實現平滑滾動頁面到頂部的功能
- 如何判斷滾動是否滾動到了網頁底部或者頂部網頁
- js實現重新整理頁面依然能夠使滾動條滾定在原來位置JS
- 在頂部顯示下拉選單
- 點選可以平滑定位到網頁指定位置網頁
- 簡單實現點選回到頂部
- 平滑的滾動listview到一個指定位View
- RecyclerView滾動位置,滾動速度設定View
- jQuery點選平滑跳轉到頁面指定位置jQuery
- 【介面設計建議】向下滾動頁面時,建議頂部選單仍然停留在頁面頂部,方便使用者來回切換
- 選單元素溢位時,自動滾動到可視區域
- 多功能PC端頂部導航選單
- java中JTextPane使輸出字元到指定的寬度換行,並將垂直滾動條的位置移動到輸出的最後位置...Java字元
- 跟隨滾動條漂浮的返回頂部按鈕效果
- RecycleView瀑布流header向上滑動時tab固定在頂部實現方法ViewHeader
- html/css 滾動到元素位置,顯示載入動畫HTMLCSS動畫
- jQuery如何判斷滾動條到達最頂端jQuery
- 下拉選單框和滾動條
- vue js 獲取滾動距離 以及 返回頂部按鈕VueJS
- 影片直播網站原始碼,flutter 頂部滾動欄頁面網站原始碼Flutter
- 滑鼠滑輪上下滾動設定方法_怎樣設定滑鼠上下滾動
- iOS - 計算UITextView 高度 UIScrollView滾動到具體位置iOSUITextView
- div拖動範圍限定在指定元素內
- js頂部可以伸縮的導航選單效果JS
- 網頁頂部導航選單程式碼例項網頁
- Android開發之TabLayout實現頂部選單AndroidTabLayout
- 如何在select下拉選單的指定索引位置插入option項索引