Maison interface Web js tutoriel Comment utiliser JavaScript pour obtenir l'effet de défilement et de masquage de la barre de navigation fixe en haut de la page Web ?

Comment utiliser JavaScript pour obtenir l'effet de défilement et de masquage de la barre de navigation fixe en haut de la page Web ?

Oct 16, 2023 am 08:58 AM
javascript 网页 haut fixe effet de masquage du défilement

如何使用 JavaScript 实现网页顶部固定导航栏的滚动隐藏效果?

Comment utiliser JavaScript pour obtenir l'effet de défilement et de masquage de la barre de navigation fixe en haut de la page Web ?

À l’ère d’Internet d’aujourd’hui, la conception Web se concentre souvent sur l’expérience utilisateur et l’intégrité des fonctions des pages. La barre de navigation Web constitue le pont entre les utilisateurs et le site Web. Elle est donc généralement placée en haut de la page pour permettre aux utilisateurs de trouver rapidement les informations dont ils ont besoin. Cependant, lorsque les utilisateurs naviguent sur le Web, garder la barre de navigation affichée en haut pendant une longue période peut occuper de l'espace sur la page et gêner les utilisateurs. Par conséquent, afin d'améliorer l'expérience utilisateur, nous pouvons utiliser JavaScript pour implémenter l'effet de défilement et de masquage de la barre de navigation fixe en haut de la page Web.

La façon d'obtenir cet effet est d'écouter les événements de défilement et de juger de l'affichage et du masquage de la barre de navigation en fonction de la direction de défilement et de la distance de défilement. Voici l'exemple de code :

// 获取导航栏元素
const navBar = document.querySelector('.navbar');
// 定义初始滚动位置
let lastScrollTop = 0;
// 定义初始导航栏高度
const navBarHeight = navBar.offsetHeight;

// 监听滚动事件
window.addEventListener('scroll', function() {
    // 获取当前滚动位置
    const scrollTop = window.pageYOffset || document.documentElement.scrollTop;

    // 判断滚动方向
    if (scrollTop > lastScrollTop) {
        // 向下滚动,隐藏导航栏
        navBar.style.transform = `translateY(-${navBarHeight}px)`;
    } else if (scrollTop < lastScrollTop) {
        // 向上滚动,显示导航栏
        navBar.style.transform = 'translateY(0)';
    }

    // 更新滚动位置
    lastScrollTop = scrollTop;
});
Copier après la connexion

Le code ci-dessus obtient d'abord l'élément de barre de navigation avec le nom de classe .navbar via document.querySelector('.navbar'). Ensuite, nous définissons une variable lastScrollTop pour stocker la dernière position de défilement, et utilisons navBar.offsetHeight pour obtenir la hauteur de la barre de navigation. document.querySelector('.navbar') 获取了具有 .navbar 类名的导航栏元素。接下来,我们定义了一个变量 lastScrollTop 用于存储上次滚动的位置,并且使用 navBar.offsetHeight 获取了导航栏的高度。

然后,我们通过 window.addEventListener('scroll', function() { ... }) 来监听滚动事件。在滚动事件的回调函数中,我们首先获取当前的滚动位置 scrollTop。接下来,通过判断当前滚动位置和上次滚动位置的大小关系,我们可以确定滚动的方向。

如果当前滚动位置大于上次滚动位置,则表示用户向下滚动,我们将导航栏向上隐藏。需要注意的是,我们通过设置 navBar.style.transformtranslateY 属性来实现导航栏的移动,将导航栏的高度(navBarHeight)作为位移参考,以保证导航栏完全隐藏。

相反,如果当前滚动位置小于上次滚动位置,则表示用户向上滚动,我们将导航栏重新显示。

最后,我们需要更新滚动位置 lastScrollTop

Ensuite, nous écoutons faire défiler les événements via window.addEventListener('scroll', function() { ... }). Dans la fonction de rappel de l'événement scroll, nous obtenons d'abord la position actuelle du défilement scrollTop. Ensuite, en jugeant la relation de taille entre la position actuelle de défilement et la dernière position de défilement, nous pouvons déterminer la direction du défilement.

Si la position de défilement actuelle est supérieure à la dernière position de défilement, cela signifie que l'utilisateur fait défiler vers le bas et que nous masquons la barre de navigation vers le haut. Il convient de noter que nous déplaçons la barre de navigation en définissant la propriété translateY de navBar.style.transform et modifions la hauteur de la barre de navigation (navBarHeight code >) comme référence de déplacement pour garantir que la barre de navigation est complètement masquée. 🎜🎜Au contraire, si la position de défilement actuelle est inférieure à la dernière position de défilement, cela signifie que l'utilisateur a fait défiler vers le haut et nous réafficherons la barre de navigation. 🎜🎜Enfin, nous devons mettre à jour la position de défilement <code>lastScrollTop pour comparaison lors du prochain événement de défilement. 🎜🎜Avec l'exemple de code ci-dessus, nous pouvons obtenir l'effet de défilement et de masquage de la barre de navigation fixe en haut de la page Web, améliorant ainsi l'expérience de navigation de l'utilisateur. Bien entendu, en fonction des besoins réels, nous pouvons apporter quelques ajustements et améliorations au style et à l'effet de la barre de navigation pour obtenir de meilleurs effets d'interaction utilisateur. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

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)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 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 envoyer des pages Web sur le bureau comme raccourci dans le navigateur Edge ? Comment envoyer des pages Web sur le bureau comme raccourci dans le navigateur Edge ? Mar 14, 2024 pm 05:22 PM

Comment envoyer des pages Web sur le bureau sous forme de raccourci dans le navigateur Edge ? Beaucoup de nos utilisateurs souhaitent afficher les pages Web fréquemment utilisées sur le bureau sous forme de raccourcis pour faciliter l'ouverture directe des pages d'accès, mais ils ne savent pas comment procéder. En réponse à ce problème, l'éditeur de ce numéro partagera le. solution avec la majorité des utilisateurs, jetons un coup d’œil au contenu partagé dans le didacticiel du logiciel d’aujourd’hui. La méthode de raccourci pour envoyer des pages Web au bureau dans le navigateur Edge : 1. Ouvrez le logiciel et cliquez sur le bouton "..." sur la page. 2. Sélectionnez « Installer ce site en tant qu'application » dans « Application » dans l'option du menu déroulant. 3. Enfin, cliquez dessus dans la fenêtre pop-up

Comment mettre en œuvre un système de reconnaissance vocale en ligne à l'aide de WebSocket et JavaScript Comment mettre en œuvre un système de reconnaissance vocale en ligne à l'aide de WebSocket et JavaScript Dec 17, 2023 pm 02:54 PM

Comment utiliser WebSocket et JavaScript pour mettre en œuvre un système de reconnaissance vocale en ligne Introduction : Avec le développement continu de la technologie, la technologie de reconnaissance vocale est devenue une partie importante du domaine de l'intelligence artificielle. Le système de reconnaissance vocale en ligne basé sur WebSocket et JavaScript présente les caractéristiques d'une faible latence, d'un temps réel et d'une multiplateforme, et est devenu une solution largement utilisée. Cet article explique comment utiliser WebSocket et JavaScript pour implémenter un système de reconnaissance vocale en ligne.

Raisons possibles pour lesquelles la connexion réseau est normale mais le navigateur ne peut pas accéder à la page Web Raisons possibles pour lesquelles la connexion réseau est normale mais le navigateur ne peut pas accéder à la page Web Feb 19, 2024 pm 03:45 PM

Le navigateur ne peut pas ouvrir la page Web mais le réseau fonctionne normalement. Il existe de nombreuses raisons possibles. Lorsque ce problème survient, nous devons enquêter étape par étape pour déterminer la cause spécifique et résoudre le problème. Tout d’abord, déterminez si la page Web ne peut pas être ouverte est limitée à un navigateur spécifique ou si tous les navigateurs ne peuvent pas ouvrir la page Web. Si un seul navigateur ne parvient pas à ouvrir la page Web, vous pouvez essayer d'utiliser d'autres navigateurs, tels que Google Chrome, Firefox, etc., à des fins de test. Si d'autres navigateurs parviennent à ouvrir la page correctement, le problème vient probablement de ce navigateur spécifique, peut-être

Que dois-je faire si les images de la page Web ne peuvent pas être chargées ? 6 solutions Que dois-je faire si les images de la page Web ne peuvent pas être chargées ? 6 solutions Mar 15, 2024 am 10:30 AM

Certains internautes ont constaté que lorsqu'ils ouvraient la page Web du navigateur, les images de la page Web ne pouvaient pas être chargées pendant une longue période. Que s'est-il passé ? J'ai vérifié que le réseau est normal, alors quel est le problème ? L'éditeur ci-dessous vous présentera six solutions au problème de l'impossibilité de charger les images de pages Web. Les images de la page Web ne peuvent pas être chargées : 1. Problème de vitesse Internet La page Web ne peut pas afficher les images. Cela peut être dû au fait que la vitesse Internet de l'ordinateur est relativement lente et qu'il y a davantage de logiciels ouverts sur l'ordinateur et que les images auxquelles nous accédons sont relativement volumineuses. peut être dû à un délai de chargement. Par conséquent, l'image ne peut pas être affichée. Vous pouvez désactiver le logiciel qui utilise la vitesse du réseau et le vérifier dans le gestionnaire de tâches. 2. Trop de visiteurs Si la page Web ne peut pas afficher d'images, c'est peut-être parce que les pages Web que nous avons visitées ont été visitées en même temps.

Que faire si la page Web ne peut pas être ouverte Que faire si la page Web ne peut pas être ouverte Feb 21, 2024 am 10:24 AM

Comment résoudre le problème des pages Web qui ne s'ouvrent pas Avec le développement rapide d'Internet, les gens comptent de plus en plus sur Internet pour obtenir des informations, communiquer et se divertir. Cependant, nous rencontrons parfois le problème que la page Web ne peut pas être ouverte, ce qui nous pose beaucoup de problèmes. Cet article vous présentera quelques méthodes courantes pour vous aider à résoudre le problème des pages Web qui ne s'ouvrent pas. Tout d’abord, nous devons déterminer pourquoi la page Web ne peut pas être ouverte. Les raisons possibles incluent des problèmes de réseau, des problèmes de serveur, des problèmes de paramètres du navigateur, etc. Voici quelques solutions : Vérifiez la connexion réseau : Tout d'abord, nous avons besoin

WebSocket et JavaScript : technologies clés pour mettre en œuvre des systèmes de surveillance en temps réel WebSocket et JavaScript : technologies clés pour mettre en œuvre des systèmes de surveillance en temps réel Dec 17, 2023 pm 05:30 PM

WebSocket et JavaScript : technologies clés pour réaliser des systèmes de surveillance en temps réel Introduction : Avec le développement rapide de la technologie Internet, les systèmes de surveillance en temps réel ont été largement utilisés dans divers domaines. L'une des technologies clés pour réaliser une surveillance en temps réel est la combinaison de WebSocket et de JavaScript. Cet article présentera l'application de WebSocket et JavaScript dans les systèmes de surveillance en temps réel, donnera des exemples de code et expliquera leurs principes de mise en œuvre en détail. 1. Technologie WebSocket

Comment utiliser JavaScript et WebSocket pour mettre en œuvre un système de commande en ligne en temps réel Comment utiliser JavaScript et WebSocket pour mettre en œuvre un système de commande en ligne en temps réel Dec 17, 2023 pm 12:09 PM

Introduction à l'utilisation de JavaScript et de WebSocket pour mettre en œuvre un système de commande en ligne en temps réel : avec la popularité d'Internet et les progrès de la technologie, de plus en plus de restaurants ont commencé à proposer des services de commande en ligne. Afin de mettre en œuvre un système de commande en ligne en temps réel, nous pouvons utiliser les technologies JavaScript et WebSocket. WebSocket est un protocole de communication full-duplex basé sur le protocole TCP, qui peut réaliser une communication bidirectionnelle en temps réel entre le client et le serveur. Dans le système de commande en ligne en temps réel, lorsque l'utilisateur sélectionne des plats et passe une commande

Mar 22, 2024 pm 03:20 PM

L'exécution de code PHP dans une page Web nécessite de s'assurer que le serveur Web prend en charge PHP et est correctement configuré. PHP peut être ouvert de trois manières : * **Environnement du serveur :** Placez le fichier PHP dans le répertoire racine du serveur et accédez-y via le navigateur. * **Environnement de développement intégré : **Placez les fichiers PHP dans le répertoire racine Web spécifié et accédez-y via le navigateur. * **Serveur distant :** Accédez aux fichiers PHP hébergés sur un serveur distant via l'adresse URL fournie par le serveur.

See all articles