Rumah hujung hadapan web tutorial js JS 实现导航栏悬停效果(续2)_javascript技巧

JS 实现导航栏悬停效果(续2)_javascript技巧

May 16, 2016 pm 05:21 PM
Bar navigasi berlegar

JS-实现导航栏悬停
JS-实现导航栏悬停(续)

用Jquery重新写完这个页面之后,发现原来的方法还有是有几个问题:

1.首先Js代码冗余,导航条上的Tab是用js实现跳转而不是超链接;

2.还有导航条本身用fixed定位,但没有被设置为水平居中,而是在JS中更改left值使其居中。

问题2就导致了,当浏览器窗口尺寸发生变化的时候,浏览器中的div的位置都发生了变化,也就导致了没法通过页面中的div动态的给已fixed定位的导航条来定位。

最终的代码更改如下:

test.html

复制代码 代码如下:








Test



1


2

3

4

5

6

7





test.js
复制代码 代码如下:

//记录导航条原来在页面上的位置
var naviga_offsetTop = 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(){
//记录初始状态导航栏的高度
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:注意navigation类的样式
复制代码 代码如下:

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

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

div.navigation{
width: 800px;
height: 40px;
background: red;
margin: 0 auto;
top: 400px;
left:50%;
position: fixed;
margin-left:-400px;
}

div.tab{
width: 195px;
height: 40px;
background: blue;
float: left;
margin-left: 5px;
}

总结:

出现这个问题的原因还是CSS的布局定位不熟悉。

在这里没法通过:margin 0 auto;来设置导航条div水平居中,因为fixed定位的元素没法通过这种方式来定位。

通过margin 0 auto;来定位的元素不能为fixed定位,并且其父元素必须要有固定的宽度。

那么怎么使fixed定位的元素水平居中呢?

通过:left: 50%,将该元素的最左边与父元素宽的中点对其,然后通过marg-left: [该元素宽度的1/2]px;来将这个元素向左移动它的宽度的一般,从而使这个元素居中。
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk melaraskan bar navigasi di bahagian atas Douyin? Pilihan pelarasan bar navigasi lain Bagaimana untuk melaraskan bar navigasi di bahagian atas Douyin? Pilihan pelarasan bar navigasi lain Mar 07, 2024 pm 02:50 PM

Bar navigasi antara muka Douyin terletak di bahagian atas dan merupakan saluran penting untuk pengguna mengakses fungsi dan kandungan yang berbeza dengan pantas. Memandangkan Douyin terus mengemas kini, pengguna mungkin mahu dapat menyesuaikan dan melaraskan bar navigasi mengikut keutamaan dan keperluan peribadi mereka. 1. Bagaimana untuk melaraskan bar navigasi di bahagian atas Douyin? Biasanya, bar navigasi teratas Douyin memaparkan beberapa saluran popular, membolehkan pengguna menyemak imbas dan melihat kandungan yang diminati dengan pantas. Jika anda ingin melaraskan tetapan untuk saluran teratas anda, ikuti langkah berikut: Buka apl TikTok dan log masuk ke akaun anda. Cari bar navigasi di atas antara muka utama, biasanya di tengah atau atas skrin. Klik simbol "+" atau butang serupa di atas bar navigasi untuk memasuki antara muka penyuntingan saluran. Dalam antara muka penyuntingan saluran, anda boleh melihat senarai lalai saluran popular. Anda boleh lulus

Langkah-langkah pelaksanaan melaksanakan bar navigasi menu dengan kesan bayangan menggunakan CSS tulen Langkah-langkah pelaksanaan melaksanakan bar navigasi menu dengan kesan bayangan menggunakan CSS tulen Oct 16, 2023 am 08:27 AM

Langkah-langkah untuk melaksanakan bar navigasi menu dengan kesan bayangan menggunakan CSS tulen memerlukan contoh kod khusus Dalam reka bentuk web, bar navigasi menu adalah elemen yang sangat biasa. Dengan menambahkan kesan bayangan pada bar navigasi menu, anda bukan sahaja boleh meningkatkan estetikanya, tetapi juga meningkatkan pengalaman pengguna. Dalam artikel ini, kami akan menggunakan CSS tulen untuk melaksanakan bar navigasi menu dengan kesan bayangan dan menyediakan contoh kod khusus untuk rujukan. Langkah-langkah pelaksanaan adalah seperti berikut: Cipta struktur HTML Pertama, kita perlu mencipta struktur HTML asas untuk menampung bar navigasi menu. oleh

Cara menggunakan PHP untuk membangunkan bar navigasi ringkas dan fungsi pengumpulan URL Cara menggunakan PHP untuk membangunkan bar navigasi ringkas dan fungsi pengumpulan URL Sep 20, 2023 pm 03:14 PM

Cara menggunakan PHP untuk membangunkan bar navigasi ringkas dan fungsi koleksi laman web Bar navigasi dan fungsi koleksi laman web adalah salah satu fungsi biasa dan praktikal dalam pembangunan web. Artikel ini akan memperkenalkan cara menggunakan bahasa PHP untuk membangunkan bar navigasi ringkas dan fungsi pengumpulan URL, dan menyediakan contoh kod khusus. Cipta antara muka bar navigasi Mula-mula, kita perlu mencipta antara muka bar navigasi. Bar navigasi biasanya mengandungi pautan untuk navigasi pantas ke halaman lain. Kita boleh menggunakan HTML dan CSS untuk mereka bentuk dan mengatur pautan ini. Berikut ialah antara muka bar navigasi yang mudah

Bar navigasi Discuz yang diperibadikan menjadikan forum lebih unik! Bar navigasi Discuz yang diperibadikan menjadikan forum lebih unik! Mar 11, 2024 pm 01:45 PM

Dalam forum Discuz, bar navigasi adalah salah satu bahagian yang sering digunakan oleh pengguna apabila melawati tapak web Oleh itu, menyesuaikan bar navigasi boleh menambah gaya yang unik dan diperibadikan pada forum dan meningkatkan pengalaman pengguna. Seterusnya, kami akan memperkenalkan cara memperibadikan bar navigasi dalam forum Discuz dan memberikan contoh kod khusus. Pertama, kita perlu log masuk ke sistem pengurusan belakang Discuz dan masukkan halaman "Antara Muka" -> "Tetapan Navigasi". Pada halaman ini, kami boleh melakukan pelbagai tetapan dan penyesuaian pada bar navigasi. Berikut adalah beberapa

Langkah untuk melaksanakan kesan menu tab lungsur pada bar navigasi responsif menggunakan CSS tulen Langkah untuk melaksanakan kesan menu tab lungsur pada bar navigasi responsif menggunakan CSS tulen Oct 28, 2023 am 09:58 AM

Langkah-langkah untuk melaksanakan kesan menu tab lungsur turun bar navigasi responsif menggunakan CSS tulen Bar navigasi ialah salah satu elemen biasa dalam halaman web dan menu tab lungsur turun ialah kesan yang sering digunakan dalam bar navigasi, yang. boleh menyediakan lebih banyak pilihan navigasi. Artikel ini akan memperkenalkan cara menggunakan CSS tulen untuk melaksanakan kesan menu tab lungsur turun bar navigasi responsif. Langkah 1: Bina struktur HTML asas Kita perlu membina struktur HTML asas untuk demonstrasi dan menambah beberapa gaya pada bar navigasi. Di bawah ialah struktur HTML yang mudah

Langkah untuk melaksanakan kesan terapung bar navigasi menu menggunakan CSS tulen Langkah untuk melaksanakan kesan terapung bar navigasi menu menggunakan CSS tulen Oct 19, 2023 am 10:13 AM

Langkah-langkah untuk melaksanakan kesan terapung bar navigasi menu menggunakan CSS tulen Dengan kemajuan berterusan reka bentuk web, permintaan pengguna untuk tapak web semakin tinggi. Untuk memberikan pengalaman pengguna yang lebih baik, kesan penggantungan telah digunakan secara meluas dalam reka bentuk tapak web. Artikel ini akan memperkenalkan cara menggunakan CSS tulen untuk mencapai kesan terapung bar navigasi menu untuk meningkatkan kebolehgunaan dan estetika tapak web. Cipta struktur menu asas Mula-mula, kita perlu mencipta struktur asas menu dalam dokumen HTML. Berikut ialah contoh mudah: <navclass=&q

Bagaimana untuk menggunakan JavaScript untuk mencapai kesan kecerunan warna latar belakang bar navigasi tetap di bahagian bawah halaman web? Bagaimana untuk menggunakan JavaScript untuk mencapai kesan kecerunan warna latar belakang bar navigasi tetap di bahagian bawah halaman web? Oct 20, 2023 pm 07:36 PM

Bagaimana untuk menggunakan JavaScript untuk mencapai kesan kecerunan warna latar belakang bar navigasi tetap di bahagian bawah halaman web? Dalam reka bentuk web moden, bar navigasi tetap telah menjadi kaedah susun atur biasa. Jika anda ingin menambah kesan kecerunan warna latar belakang pada bar navigasi tetap di bahagian bawah halaman web, JavaScript ialah pilihan yang sangat sesuai. Artikel ini akan memperkenalkan anda kepada cara menggunakan JavaScript untuk mencapai kesan ini dan memberikan contoh kod khusus. Langkah 1: Struktur HTML Mula-mula kita perlu mencipta HTML

Bagaimana untuk menggunakan Vue untuk mencapai kesan dinamik bar navigasi? Bagaimana untuk menggunakan Vue untuk mencapai kesan dinamik bar navigasi? Jun 25, 2023 pm 12:17 PM

Vue ialah rangka kerja JavaScript yang sangat popular yang boleh digunakan untuk membina aplikasi web dinamik. Dalam Vue, anda boleh dengan mudah menyedari kesan dinamik bar navigasi dan memberikan pengguna pengalaman interaksi antara muka yang lebih baik. Berikut ialah beberapa langkah asas untuk melaksanakan dinamik bar navigasi menggunakan Vue. Untuk mencipta contoh Vue, pertama, anda perlu memperkenalkan perpustakaan Vue ke dalam HTML, dan kemudian mencipta tika Vue. Anda boleh menggunakan kod berikut untuk membuat contoh Vue: var

See all articles