Maison interface Web uni-app Comment réaliser un effet de navigation glissant vers le haut et masqué dans Uniapp

Comment réaliser un effet de navigation glissant vers le haut et masqué dans Uniapp

Apr 17, 2023 pm 02:16 PM

Dans la conception d'applications mobiles, la barre de navigation est un élément très important. Il permet aux utilisateurs de localiser rapidement les informations dont ils ont besoin et constitue également un élément visuel important d’une application. Cependant, pendant le processus de conception, nous devons non seulement prendre en compte le style et la disposition de la barre de navigation, mais également prêter attention à ses performances et à ses effets d'interaction dans différents scénarios.

Il est relativement facile d'obtenir l'effet de glisser vers le bas et de masquer la navigation dans uniapp. Il suffit d'utiliser quelques styles simples et du code JS pour y parvenir.

Tout d'abord, ajoutez un conteneur à la zone de navigation de la page, définissez son attribut de position sur fixe et son attribut z-index sur une valeur plus élevée afin qu'il soit toujours en haut de la page. Afin de masquer la navigation après avoir glissé vers le bas, nous pouvons utiliser l'attribut transform pour déplacer la barre de navigation hors de la plage visible de l'écran.

Les étapes spécifiques de mise en œuvre sont les suivantes :

  1. Ajoutez un conteneur de navigation nommé header et ajoutez-y le style et la mise en page de la navigation.
  2. Définissez la position initiale du conteneur de navigation en haut de l'écran.
  3. Utilisez JS pour écouter les événements de défilement de l'écran. Lorsque l'utilisateur glisse vers le bas, le conteneur de navigation sort de la plage visible de l'écran. À l’inverse, lorsque l’utilisateur fait glisser son doigt vers le haut, le conteneur de navigation revient en haut de l’écran.

L'implémentation spécifique du code est la suivante :

// html文件代码
<template>
  <div class="wrapper">
    <header>
      <!--导航内容-->
    </header>
    <!--主要内容区域-->
  </div>
</template>

<style>
  header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 50px;
    background-color: #fff;
    z-index: 999;
    transition: all .3s ease-in-out; // 添加过渡效果
  }
  
  header.hide {
    transform: translateY(-100%);
  }
</style>

<script>
  export default {
    data() {
      return {
        lastScrollTop: 0,
        isHeaderShow: true
      }
    },
    mounted() {
      window.addEventListener('scroll', this.onScroll)
    },
    destroyed() {
      window.removeEventListener('scroll', this.onScroll)
    },
    methods: {
      onScroll(e) {
        const currentScrollTop = document.documentElement.scrollTop
        if (currentScrollTop > 0 && currentScrollTop > this.lastScrollTop) {
          this.isHeaderShow = false
        } else {
          this.isHeaderShow = true
        }
        this.lastScrollTop = currentScrollTop
      }
    },
    computed: {
      headerClass() {
        return {
          hide: !this.isHeaderShow
        }
      }
    }
  }
</script>
Copier après la connexion

Dans le code ci-dessus, nous utilisons la variable isHeaderShow pour marquer si la barre de navigation actuelle doit être affichée, utiliser des propriétés calculées pour lier le style du conteneur de navigation et ajouter un défilement événements dans la méthode JS Surveillez et contrôlez les changements selon que la barre de navigation est affichée ou non.

Il est à noter que pour que la barre de navigation fonctionne correctement, nous devons définir la hauteur du conteneur de navigation et nous assurer qu'il y a suffisamment d'espace entre la tête de la zone de contenu principale, sinon la barre de navigation et le contenu la zone se chevauchera.

En bref, en définissant la position sur fixe, en ajoutant des effets de transition et des attributs de transformation au conteneur de navigation, puis en contrôlant le mouvement du conteneur de navigation via l'écoute des événements de défilement, nous pouvons très simplement obtenir l'effet de glisser vers le bas pour masquer le navigation dans uniapp.

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

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

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)

Quels sont les différents types de tests que vous pouvez effectuer dans une application UNIAPP? Quels sont les différents types de tests que vous pouvez effectuer dans une application UNIAPP? Mar 27, 2025 pm 04:59 PM

L'article traite de divers types de tests pour les applications UNIAPP, y compris l'unité, l'intégration, les tests fonctionnels, UI / UX, les performances, la plate-forme multiplateforme et la sécurité. Il couvre également une compatibilité multiplateforme et recommande des outils comme JES

Comment pouvez-vous réduire la taille de votre package d'application UNIAPP? Comment pouvez-vous réduire la taille de votre package d'application UNIAPP? Mar 27, 2025 pm 04:45 PM

L'article traite des stratégies pour réduire la taille du package UNIAPP, en se concentrant sur l'optimisation du code, la gestion des ressources et les techniques comme le fractionnement du code et le chargement paresseux.

Quels outils de débogage sont disponibles pour le développement UNIAPP? Quels outils de débogage sont disponibles pour le développement UNIAPP? Mar 27, 2025 pm 05:05 PM

L'article traite des outils de débogage et des meilleures pratiques pour le développement de l'UNIAPP, en se concentrant sur des outils comme HBuilderx, WeChat Developer Tools et Chrome Devtools.

Comment pouvez-vous utiliser le chargement paresseux pour améliorer les performances? Comment pouvez-vous utiliser le chargement paresseux pour améliorer les performances? Mar 27, 2025 pm 04:47 PM

Le chargement paresseux dépasse les ressources non critiques pour améliorer les performances du site, réduire les temps de chargement et l'utilisation des données. Les pratiques clés incluent la priorité au contenu critique et l'utilisation d'API efficaces.

Comment pouvez-vous optimiser les images pour les performances Web à UniApp? Comment pouvez-vous optimiser les images pour les performances Web à UniApp? Mar 27, 2025 pm 04:50 PM

L'article discute de l'optimisation des images dans UniaPP pour de meilleures performances Web par compression, conception réactive, chargement paresseux, mise en cache et utilisation du format WebP.

Quels sont les modèles communs pour gérer des structures de données complexes dans UNIAPP? Quels sont les modèles communs pour gérer des structures de données complexes dans UNIAPP? Mar 25, 2025 pm 02:31 PM

L'article discute de la gestion des structures de données complexes dans l'UNIAPP, en se concentrant sur des modèles tels que Singleton, Observer, Factory et State, et des stratégies pour gérer les changements d'état de données à l'aide de l'API de composition Vuex et Vue 3.

Quelles sont les propriétés calculées à UniApp? Comment sont-ils utilisés? Quelles sont les propriétés calculées à UniApp? Comment sont-ils utilisés? Mar 25, 2025 pm 02:23 PM

Les propriétés calculées de l'UNIAPP, dérivées de Vue.js, améliorent le développement en fournissant une gestion des données réactive, réutilisable et optimisée. Ils mettent automatiquement à jour lorsque les dépendances changent, offrant des avantages de performance et simplifiant la gestion de l'État

Comment UniApp gère-t-il la configuration et le style global? Comment UniApp gère-t-il la configuration et le style global? Mar 25, 2025 pm 02:20 PM

UniApp gère la configuration globale via Manifest.json et le style via app.vue ou app.scss, en utilisant Uni.scss pour les variables et les mixins. Les meilleures pratiques incluent l'utilisation de SCSS, de styles modulaires et de conception réactive.

See all articles