首頁 web前端 js教程 JS 實作導覽列懸停效果(續2)_javascript技巧

JS 實作導覽列懸停效果(續2)_javascript技巧

May 16, 2016 pm 05:21 PM
導覽列 懸停

JS-實作導覽列懸停
JS-實現導覽列懸停

JS-實現導覽列懸停(續)


用Jquery重新寫完這個頁面之後,發現原來的方法還有是有幾個問題:

1.首先Js程式碼冗餘,導航條上的Tab是用js實現跳轉而不是超連結;

2 .還有導航條本身用fixed定位,但沒有被設定為水平居中,而是在JS中更改left值使其居中。

問題2就導致了,當瀏覽器視窗尺寸發生變化的時候,瀏覽器中的div的位置都發生了變化,也就導致了沒法通過頁面中的div動態的給已fixed定位的導航條來定位。

最終的程式碼變更如下:

test.html 複製程式碼


複製程式碼



複製程式碼



複製程式碼


程式碼如下:









Test



1

tab1

tab2

tab3
tab4
2
3
4
5
6
7





test.js




複製程式碼


程式碼如下:


//記錄導覽列set 原來在頁上的位置
varop igaoffi% = 0;

//使導航條,懸停在頂部
function naviga_stay_top(){
//取得滾動距離
var scrollTop = $(document).scrollTop();
//如果向下滾動的距離大於原來導覽列離頂部的距離
//直接將導覽列固定到視覺區頂部
if( scrollTop > naviga_offsetTop ){
$(" #nav").css({"top": "0px"});
} else {
//如果向下滾動的距離小原來導覽列離頂部的距離,則重新計算導覽列的位置
$("#nav").css({"top": naviga_offsetTop - scrollTop "px"});
}
}

function onload_function(){
function onload_function(){ //記錄初始狀態導覽列的高度naviga_offsetTop = $("#nav").attr("offsetTop"); //綁定滾動和滑鼠事件$(window) .bind("scroll", naviga_stay_top);
$(window).bind("mousewheel",naviga_stay_top); $(document).bind("scroll", naviga_stay_top); $(document ).bind("mousewheel",naviga_stay_top); } $(document).ready( onload_function ); test.css. 🎜>複製程式碼 程式碼如下:

div.main{
width: 800px;
background: #CCC;
margin: 10px auto 0;
position: relative;
}



}



}



}



^ >div.content{
width: 800px;
height: 400px;
background: yellow;
margin: 10px auto 0;
}
margin: 10px auto 0;
}

div. 🎜>width: 800px;
height: 40px;
background: red;
margin: 0 auto;
top: 400px;
left:50%;
margin-left:-400px;
}

div.tab{
width: 195px;
height: 40px;
background: blue left;
margin-left: 5px;
} 總結: 出現這個問題的原因還是CSS的佈局定位不熟悉。 在這裡沒法通過:margin 0 auto;來設定導航條div水平居中,因為fixed定位的元素沒辦法透過這種方式來定位。 透過margin 0 auto;來定位的元素不能為fixed定位,且其父元素必須要有固定的寬度。 那麼怎麼使fixed定位的元素水平居中呢? 透過:left: 50%,將該元素的最左邊與父元素寬的中點對其,然後透過marg-left: [該元素寬度的1/2]px;來將這個元素向左移動它的寬度的一般,從而使這個元素居中。
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

抖音頂部的導覽列如何調整?其他導覽列調整選項 抖音頂部的導覽列如何調整?其他導覽列調整選項 Mar 07, 2024 pm 02:50 PM

抖音介面的導覽列位於頂部,是使用者快速存取不同功能和內容的重要通道。隨著抖音的不斷更新,使用者可能希望能夠根據個人喜好和需求對導覽列進行自訂和調整。一、抖音頂部的導覽列如何調整?通常,抖音的頂部導覽列會顯示一些熱門頻道,讓使用者方便快速瀏覽和查看感興趣的內容。如果您想調整頂部頻道的設置,只需按照以下步驟操作即可:開啟抖音應用程式並登入您的帳號。在主介面上方找到導航欄,通常位於螢幕中間或頂部。點選導覽列上方的「+」符號或類似的按鈕,進入頻道編輯介面。在頻道編輯介面中,您可以看到預設的熱門頻道清單。您可以通

純CSS實現帶有陰影效果的選單導覽列的實現步驟 純CSS實現帶有陰影效果的選單導覽列的實現步驟 Oct 16, 2023 am 08:27 AM

純CSS實現帶有陰影效果的選單導覽列的實現步驟,需要具體程式碼範例在網頁設計中,選單導覽列是一個非常常見的元素。透過為選單導覽列添加陰影效果,不僅可以增加其美觀度,還可以提升使用者體驗。在本文中,我們將使用純CSS來實現一個帶有陰影效果的選單導覽欄,並提供具體的程式碼範例供參考。實作步驟如下:建立HTML結構首先,我們需要建立一個基本的HTML結構來容納選單導覽列。以

如何使用PHP開發簡單的導覽列和網址收藏功能 如何使用PHP開發簡單的導覽列和網址收藏功能 Sep 20, 2023 pm 03:14 PM

如何使用PHP開發簡單的導覽列和網址收藏功能導覽列和網址收藏功能是網頁開發中常見且實用的功能之一。本文將介紹如何使用PHP語言開發一個簡單的導覽列和網址收藏功能,並提供具體的程式碼範例。建立導覽列介面首先,我們需要建立一個導覽列介面。導航欄通常包含一些鏈接,用於快速導航到其他頁面。我們可以使用HTML和CSS來設計並排列這些連結。以下是一個簡單的導覽列介面的

純CSS實現響應式導覽列的下拉選項卡選單效果的實作步驟 純CSS實現響應式導覽列的下拉選項卡選單效果的實作步驟 Oct 28, 2023 am 09:58 AM

純CSS實現響應式導覽列的下拉選項卡選單效果的實現步驟導覽列是網頁中常見的元素之一,而下拉選項卡選單是導覽列中經常使用的效果,能夠提供更多的導航選項。本文將介紹如何使用純CSS實作一個響應式的導覽列下拉選項卡選單效果。步驟一:建立基礎HTML結構我們首先需要建立一個基礎的HTML結構來進行演示,並且為這個導覽列添加一些樣式。下面是一個簡單的HTML結構

純CSS實現選單導覽列的懸浮效果的實現步驟 純CSS實現選單導覽列的懸浮效果的實現步驟 Oct 19, 2023 am 10:13 AM

純CSS實現選單導覽列的懸浮效果的實現步驟隨著Web設計的不斷進步,使用者對於網站的需求也越來越高。為了提供更好的使用者體驗,懸浮效果在網站設計中得到了廣泛應用。本文將介紹如何使用純CSS來實現選單導覽列的懸浮效果,以提升網站的可用性和美觀性。建立基本選單結構首先,我們需要在HTML文件中建立選單的基本結構。以下是一個簡單的範例:<navclass=&q

Discuz導航欄個性化定制,讓論壇更具特色! Discuz導航欄個性化定制,讓論壇更具特色! Mar 11, 2024 pm 01:45 PM

在Discuz論壇中,導覽列是使用者造訪網站時經常接觸到的部分之一,因此客製化導覽列可以為論壇增添獨特的個人化風格,提升使用者體驗。接下來將介紹如何在Discuz論壇中進行導航列的個人化定制,並提供具體的程式碼範例。首先,我們需要登入Discuz的後台管理系統,進入「介面」->「導航設定」頁面。在這個頁面上,我們可以對導覽列進行各種設定和自訂。以下是一些

如何使用 JavaScript 實現網頁底部固定導覽列的背景顏色漸層效果? 如何使用 JavaScript 實現網頁底部固定導覽列的背景顏色漸層效果? Oct 20, 2023 pm 07:36 PM

如何使用JavaScript實現網頁底部固定導覽列的背景顏色漸層效果?在現代網頁設計中,固定導覽列已成為一種常見的佈局方式。如果你想為網頁底部固定導覽列新增一個背景色彩漸層效果,JavaScript是一個非常適合的選擇。本文將向你介紹如何使用JavaScript來實現這一效果,並提供具體的程式碼範例。步驟1:HTML結構首先,我們需要在HTML

如何使用 Vue 實現導覽列動態效果? 如何使用 Vue 實現導覽列動態效果? Jun 25, 2023 pm 12:17 PM

Vue是一款非常流行的JavaScript框架,可以用來建立動態Web應用程式。在Vue中,可以很方便地實現導覽列動態效果,為使用者提供更好的介面互動體驗。以下是一些基本步驟,用於使用Vue實現導覽列動態效果。建立Vue實例首先,需要在HTML中引入Vue庫,然後建立一個Vue實例。可以使用以下程式碼建立Vue實例:var

See all articles