JavaScript 實用效果 - 導航區域跟隨窗口滾動!

我們經常可以看到這樣的頁面,頁面的主體部分採用左右佈局,靠左的爲導航,靠右的爲頁面主要內容。如下圖:

而當左邊的導航高度不夠、而右邊的內容很多時,頁面往下拉會發現左邊出現了一大塊空白,導致主體內容顯得窄小且頁面整體不對稱,如下圖:

解決的辦法之一是在窗口滾動時,左邊的區域也跟着一起移動,這不但解決了上述問題,也一定程度上地增強了用戶體驗,因爲此時用戶能夠隨時地導航到其他頁面而不需要回到頁面頂部。這一效果已經在很多網站採用了,比如淘寶社區:

當然實現這種效果的方法有很多,這裏給出一種比較簡單的,代碼如下。首先左邊的區域採用相對定位,初始的top值爲0,接下來記錄下左邊區域的初始位置(這裏爲t),然後當窗口滾動時改變這個top值,爲了避免在頁面頂部時左邊的區域覆蓋導航,這裏分兩種情況:當滾動值scrollTop大於t時,把top值設置爲窗口滾動的高度,則左邊的區域貼在最頂端;否則還原爲初始的位置值t。

同樣的道理,如果要固定頂部導航也是可以做到的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章