Maison interface Web js tutoriel JS 实现导航栏悬停效果(续2)_javascript技巧

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

May 16, 2016 pm 05:21 PM
导航栏 悬停

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;来将这个元素向左移动它的宽度的一般,从而使这个元素居中。
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment ajuster la barre de navigation en haut de Douyin ? Autres options de réglage de la barre de navigation Comment ajuster la barre de navigation en haut de Douyin ? Autres options de réglage de la barre de navigation Mar 07, 2024 pm 02:50 PM

La barre de navigation de l'interface Douyin est située en haut et constitue un canal important permettant aux utilisateurs d'accéder rapidement aux différentes fonctions et contenus. À mesure que Douyin continue de se mettre à jour, les utilisateurs souhaiteront peut-être pouvoir personnaliser et ajuster la barre de navigation en fonction de leurs préférences et besoins personnels. 1. Comment ajuster la barre de navigation en haut de Douyin ? Habituellement, la barre de navigation supérieure de Douyin affiche certaines chaînes populaires, permettant aux utilisateurs de parcourir et d'afficher rapidement le contenu qui les intéresse. Si vous souhaitez ajuster les paramètres de votre chaîne principale, suivez simplement ces étapes : Ouvrez l'application TikTok et connectez-vous à votre compte. Recherchez la barre de navigation au-dessus de l'interface principale, généralement au milieu ou en haut de l'écran. Cliquez sur le symbole « + » ou un bouton similaire au-dessus de la barre de navigation pour accéder à l'interface d'édition de chaîne. Dans l'interface d'édition des chaînes, vous pouvez voir la liste par défaut des chaînes populaires. Tu peux passer

Étapes de mise en œuvre de la mise en œuvre d'une barre de navigation dans les menus avec effet d'ombre en utilisant du CSS pur Étapes de mise en œuvre de la mise en œuvre d'une barre de navigation dans les menus avec effet d'ombre en utilisant du CSS pur Oct 16, 2023 am 08:27 AM

Les étapes pour implémenter une barre de navigation dans les menus avec effet d'ombre en utilisant du CSS pur nécessitent des exemples de code spécifiques. Dans la conception Web, la barre de navigation dans les menus est un élément très courant. En ajoutant un effet d'ombre à la barre de navigation du menu, vous pouvez non seulement augmenter son esthétique, mais également améliorer l'expérience utilisateur. Dans cet article, nous utiliserons du CSS pur pour implémenter une barre de navigation de menu avec un effet d'ombre et fournirons des exemples de code spécifiques pour référence. Les étapes d'implémentation sont les suivantes : Créer une structure HTML Tout d'abord, nous devons créer une structure HTML de base pour accueillir la barre de navigation des menus. par

Comment utiliser PHP pour développer des fonctions simples de barre de navigation et de collecte d'URL Comment utiliser PHP pour développer des fonctions simples de barre de navigation et de collecte d'URL Sep 20, 2023 pm 03:14 PM

Comment utiliser PHP pour développer une barre de navigation simple et une fonction de collection de sites Web. La barre de navigation et la fonction de collection de sites Web sont l'une des fonctions courantes et pratiques du développement Web. Cet article expliquera comment utiliser le langage PHP pour développer une barre de navigation simple et une fonction de collecte d'URL, et fournira des exemples de code spécifiques. Créer une interface de barre de navigation Tout d'abord, nous devons créer une interface de barre de navigation. La barre de navigation contient généralement des liens permettant une navigation rapide vers d'autres pages. Nous pouvons utiliser HTML et CSS pour concevoir et organiser ces liens. Ce qui suit est une interface de barre de navigation simple

La barre de navigation Discuz personnalisée rend le forum plus unique ! La barre de navigation Discuz personnalisée rend le forum plus unique ! Mar 11, 2024 pm 01:45 PM

Dans le forum Discuz, la barre de navigation est l'une des parties avec lesquelles les utilisateurs entrent souvent en contact lorsqu'ils visitent le site Web. Par conséquent, la personnalisation de la barre de navigation peut ajouter un style unique et personnalisé au forum et améliorer l'expérience utilisateur. Ensuite, nous présenterons comment personnaliser la barre de navigation dans le forum Discuz et fournirons des exemples de code spécifiques. Tout d'abord, nous devons nous connecter au système de gestion backend de Discuz et accéder à la page « Interface » -> « Paramètres de navigation ». Sur cette page, nous pouvons effectuer divers réglages et personnalisations sur la barre de navigation. Voilà quelque

Étapes pour implémenter l'effet de menu à onglets déroulants d'une barre de navigation réactive utilisant du CSS pur Étapes pour implémenter l'effet de menu à onglets déroulants d'une barre de navigation réactive utilisant du CSS pur Oct 28, 2023 am 09:58 AM

Étapes pour implémenter l'effet de menu à onglets déroulants d'une barre de navigation réactive utilisant du CSS pur La barre de navigation est l'un des éléments courants dans les pages Web, et le menu à onglets déroulants est un effet souvent utilisé dans la barre de navigation, qui. peut fournir plus d’options de navigation. Cet article explique comment utiliser du CSS pur pour implémenter un effet de menu à onglets déroulants dans la barre de navigation réactive. Étape 1 : Créer une structure HTML de base. Nous devons d'abord créer une structure HTML de base pour la démonstration et ajouter quelques styles à la barre de navigation. Vous trouverez ci-dessous une structure HTML simple

Étapes pour implémenter l'effet flottant de la barre de navigation de menu en utilisant du CSS pur Étapes pour implémenter l'effet flottant de la barre de navigation de menu en utilisant du CSS pur Oct 19, 2023 am 10:13 AM

Étapes pour implémenter l'effet flottant de la barre de navigation de menu en utilisant du CSS pur Avec l'avancement continu de la conception Web, les demandes des utilisateurs en matière de sites Web sont de plus en plus élevées. Afin d’offrir une meilleure expérience utilisateur, l’effet suspension a été largement utilisé dans la conception de sites Web. Cet article expliquera comment utiliser du CSS pur pour obtenir l'effet flottant de la barre de navigation des menus afin d'améliorer la convivialité et l'esthétique du site Web. Créer la structure de base du menu Tout d'abord, nous devons créer la structure de base du menu dans le document HTML. Voici un exemple simple : <navclass=&q

Comment utiliser JavaScript pour obtenir l'effet dégradé de couleur d'arrière-plan de la barre de navigation fixe en bas de la page Web ? Comment utiliser JavaScript pour obtenir l'effet dégradé de couleur d'arrière-plan de la barre de navigation fixe en bas de la page Web ? Oct 20, 2023 pm 07:36 PM

Comment utiliser JavaScript pour obtenir l'effet dégradé de couleur d'arrière-plan de la barre de navigation fixe en bas de la page Web ? Dans la conception Web moderne, les barres de navigation fixes sont devenues une méthode de mise en page courante. Si vous souhaitez ajouter un effet dégradé de couleur d'arrière-plan à la barre de navigation fixe en bas de la page Web, JavaScript est un choix très approprié. Cet article vous expliquera comment utiliser JavaScript pour obtenir cet effet et fournira des exemples de code spécifiques. Étape 1 : Structure HTML Nous devons d’abord créer le HTML

Comment utiliser Vue pour obtenir des effets dynamiques de la barre de navigation ? Comment utiliser Vue pour obtenir des effets dynamiques de la barre de navigation ? Jun 25, 2023 pm 12:17 PM

Vue est un framework JavaScript très populaire qui peut être utilisé pour créer des applications Web dynamiques. Dans Vue, vous pouvez facilement réaliser l'effet dynamique de la barre de navigation et offrir aux utilisateurs une meilleure expérience d'interaction avec l'interface. Voici quelques étapes de base pour implémenter la dynamique de la barre de navigation à l'aide de Vue. Pour créer une instance Vue, vous devez d'abord introduire la bibliothèque Vue dans HTML, puis créer une instance Vue. Vous pouvez utiliser le code suivant pour créer une instance Vue : var

See all articles