摘要:設置側邊欄定位有了中間內容區域頂部與頁面最上方的距離,以及頁面頂部導航欄的高度,側邊欄需要向下移動的距離很容易就算出來了。
用 bigSlide 生成的可滑動側邊欄需要更改其定位和高度屬性,更改定位令其與中間內容區域的頂部對齊,更改高度令其與中間內容區域的底部對齊。這個問題可以拆分為下面幾個需求來依次實現:
更改側邊欄定位 獲取中間內容區域頂部與頁面最上方的距離通過結合 CSS 選擇器,可以快速定位目標元素,然后利用 offset() 方法的 top 屬性,即可得到元素頂部與頁面最上方的距離。
var topOffsetToTop = $("div.main-body div.view-tab.learn-tab").offset().top;
參考內容:jQuery: the offset() and position() method
獲取頁面頂部導航欄的高度由于側邊欄是相對定位,默認位置緊鄰頂部導航欄,那么如果要與右側的內容區域頂端對齊,則側邊欄向下移動的距離,就等于內容區域與頁面最上方的距離,減去頁面頂部導航欄的高度。
var topNavBarHeight = $("#header").height();設置側邊欄定位
有了中間內容區域頂部與頁面最上方的距離,以及頁面頂部導航欄的高度,側邊欄需要向下移動的距離很容易就算出來了。
$("#menu").css("top", topOffsetToTop - topNavBarHeight + "px");
參考內容:how to remove only one style property with jquery
更改側邊欄高度原理與上面更改側邊欄定位的思路相同,中間內容區域頂部的位置已知,那么只要知道中間內容區域底部的位置,就能夠得到該區域的高度,然后令側邊欄也為相同高度即可。
計算中間內容區域底部距頁面頂部的距離var contentAreaBottomOffsetToTop = $("#thread_view").offset().top + $("#thread_view").height();令側欄高度為中間內容區域高度
var contentAreaHeight = contentAreaBottomOffsetToTop - topOffsetToTop; $("#menu").css("height", contentAreaHeight + "px");最終代碼 JavaScript 執行順序
上面這段代碼,最初是放在 標簽內的尾部的,但是運行頁面發現這段代碼并未生效,在 Firebug 中逐句測試這段代碼時卻又生效了,經提醒應該是代碼未被執行,思考之后認為應該是代碼在頁面中的位置有問題,以側邊欄插件 bigSlide 作為關鍵字搜索,發現側邊欄初始化的代碼位于頁面最下方,這樣的話,頁面執行的順序其實是先用自己的代碼調整了側邊欄的定位和高度,之后又通過 bigSlide 初始化插件,這樣自定義的部分當然不會生效了,將上面的代碼放在側邊欄插件初始化代碼之后,一切OK~~~
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/79577.html
摘要:利用方法選擇到偽元素,然后利用方法獲取對應的屬性的值。具體用法可以參考的這篇文章而偽元素的屬性值除了常規賦值外,還有一種特殊的方法來獲取。具體實現參照,不再做具體分析參考文獻獲取元素值之方法熟悉 雖然標題里寫的是偽元素,不過這篇文章主要是說::before和::after,其余幾個偽元素(::first-letter、::first-line、::selection等)由于沒有cont...
摘要:前言這是系列最后一篇,本文主要總結了的用法,以及最后對函數進行抽象。一個多說無益,還是上代碼來得實在還記得編程藝術中的總結一中那個無聊的根據元素在節點樹里的位置來設置樣式的吧現在可以用屬性直接更改樣式了。 前言:這是CSS-DOM系列最后一篇,本文主要總結了className的用法,以及最后對函數進行抽象。 ------------------我是分割線----------------...
摘要:前言這是系列最后一篇,本文主要總結了的用法,以及最后對函數進行抽象。一個多說無益,還是上代碼來得實在還記得編程藝術中的總結一中那個無聊的根據元素在節點樹里的位置來設置樣式的吧現在可以用屬性直接更改樣式了。 前言:這是CSS-DOM系列最后一篇,本文主要總結了className的用法,以及最后對函數進行抽象。 ------------------我是分割線----------------...
摘要:你曾想過在頁面加載過后去修改或的變量值么我曾經嘗試過但并沒有成功因為當預處理的代碼編譯成了它的變量就不再是變量了然而自定義屬性就沒有這樣的限制在該系列的文章中我曾提及過自定義屬性它最牛扳的特性就是它的動態性它的強大我們一眼就能對比出來預處理 你曾想過在頁面加載過后去修改 Sass 或 Less 的變量值么? 我曾經嘗試過, 但并沒有成功, 因為當預處理的代碼編譯成了 CSS, 它的變...
摘要:如果我們作為一個后端開發者想掌握一個前端框架,是一個好選擇,因為它足夠的易學。是語言的下一代標準。數據方法生命周期鉤子函數其他有些內容比較重要,留到后面講定義數據定義數據定義了數據,那么就可以在管理的區域中使用的獲取數據的語法來獲取數據。目錄 前言: iview組件庫示例 element組件庫示例 ...
閱讀 1743·2021-09-22 15:25
閱讀 1307·2019-08-29 12:34
閱讀 1907·2019-08-26 13:57
閱讀 3188·2019-08-26 10:48
閱讀 1443·2019-08-26 10:45
閱讀 792·2019-08-23 18:23
閱讀 733·2019-08-23 18:01
閱讀 1945·2019-08-23 16:07