ホームページ ウェブフロントエンド uni-app uniappで上にスライドしてナビゲーション効果を隠す方法を実現する方法

uniappで上にスライドしてナビゲーション効果を隠す方法を実現する方法

Apr 17, 2023 pm 02:16 PM

モバイル APP の設計では、ナビゲーション バーは非常に重要な要素です。これにより、ユーザーは必要な情報をすばやく見つけることができ、APP の重要な視覚要素でもあります。ただし、設計プロセスでは、ナビゲーション バーのスタイルとレイアウトを考慮するだけでなく、さまざまなシナリオでのパフォーマンスとインタラクション効果にも注意を払う必要があります。

uniapp でナビゲーションをスライドダウンして非表示にする効果は比較的簡単に実現でき、いくつかの単純なスタイルと JS コードを使用するだけで実現できます。

まず、コンテナをページのナビゲーション領域に追加し、コンテナが常にページの先頭に表示されるように、position 属性を固定に設定し、z-index 属性をより高い値に設定します。スライドダウン後にナビゲーションを非表示にするには、transform 属性を使用してナビゲーション バーを画面の表示範囲外に移動します。

具体的な実装手順は次のとおりです。

  1. header という名前のナビゲーション コンテナを追加し、その中にナビゲーションのスタイルとレイアウトを追加します。
  2. ナビゲーション コンテナの初期位置を画面の上部に設定します。
  3. JS を使用して画面スクロール イベントをリッスンする ユーザーが下にスライドすると、ナビゲーション コンテナーが画面の表示範囲外に移動します。逆に、ユーザーが上にスワイプすると、ナビゲーション コンテナーは画面の上部に戻ります。

具体的なコード実装は次のとおりです:

// 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>
ログイン後にコピー

上記のコードでは、isHeaderShow 変数を使用して現在のナビゲーション バーを表示するかどうかをマークし、計算されたプロパティを使用してナビゲーション コンテナー Style をバインドし、JS メソッドにスクロール イベント リスナーを追加して、ナビゲーション バーを表示するかどうかを制御します。

ナビゲーション バーが正しく動作するには、ナビゲーション コンテナの高さを設定し、メイン コンテンツ領域の先頭に十分なスペースがあることを確認する必要があることに注意してください。そうしないと、ナビゲーションがバーがコンテンツ領域に重なる条件。

つまり、位置を固定に設定し、遷移効果と変換属性をナビゲーション コンテナに追加し、スクロール イベント リスニングを通じてナビゲーション コンテナの動きを制御することで、非常に簡単にスライドの効果を実現できます。下に押すと、uniapp のナビゲーションが非表示になります。

以上がuniappで上にスライドしてナビゲーション効果を隠す方法を実現する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

UNIAPPアプリケーションで実行できるさまざまなタイプのテストは何ですか? UNIAPPアプリケーションで実行できるさまざまなタイプのテストは何ですか? Mar 27, 2025 pm 04:59 PM

この記事では、ユニット、統合、機能、UI/UX、パフォーマンス、クロスプラットフォーム、セキュリティテストなど、UNIAPPアプリケーションのさまざまなテストタイプについて説明します。また、クロスプラットフォームの互換性を確保し、JESのようなツールを推奨しています

Uniappアプリケーションパッケージのサイズをどのように削減できますか? Uniappアプリケーションパッケージのサイズをどのように削減できますか? Mar 27, 2025 pm 04:45 PM

この記事では、コードの最適化、リソース管理、コード分割や怠zyなロードなどの手法に焦点を当てたUniappパッケージサイズを削減する戦略について説明します。

UNIAPP開発に利用できるデバッグツールは何ですか? UNIAPP開発に利用できるデバッグツールは何ですか? Mar 27, 2025 pm 05:05 PM

この記事では、Hbuilderx、Wechat開発者ツール、Chrome Devtoolsなどのツールに焦点を当てたUniapp開発のためのデバッグツールとベストプラクティスについて説明します。

怠zyなロードを使用してパフォーマンスを向上させるにはどうすればよいですか? 怠zyなロードを使用してパフォーマンスを向上させるにはどうすればよいですか? Mar 27, 2025 pm 04:47 PM

怠zyな読み込みは、サイトのパフォーマンスを改善し、負荷時間とデータの使用量を削減するための非批判的なリソースを扱います。重要なプラクティスには、重要なコンテンツの優先順位付けや効率的なAPIの使用が含まれます。

UniappのWebパフォーマンスのために画像を最適化するにはどうすればよいですか? UniappのWebパフォーマンスのために画像を最適化するにはどうすればよいですか? Mar 27, 2025 pm 04:50 PM

この記事では、圧縮、レスポンシブデザイン、怠zyなロード、キャッシング、およびWebP形式の使用を通じて、Webパフォーマンスを向上させるために、Uniappの画像の最適化について説明します。

Uniappで複雑なデータ構造を管理するための一般的なパターンは何ですか? Uniappで複雑なデータ構造を管理するための一般的なパターンは何ですか? Mar 25, 2025 pm 02:31 PM

この記事では、Uniappの複雑なデータ構造の管理について説明し、Singleton、Observer、Factory、Stateなどのパターンに焦点を当て、VuexおよびVue 3 Composition APIを使用してデータ状態の変更を処理するための戦略について説明します。

Uniappの計算プロパティとは何ですか?それらはどのように使用されていますか? Uniappの計算プロパティとは何ですか?それらはどのように使用されていますか? Mar 25, 2025 pm 02:23 PM

Vue.jsから派生したUniappの計算プロパティは、リアクティブで再利用可能な、最適化されたデータ処理を提供することにより、開発を強化します。依存関係が変更されたときに自動的に更新され、パフォーマンスの利点を提供し、国家管理を簡素化します

Uniappはグローバルな構成とスタイリングをどのように処理しますか? Uniappはグローバルな構成とスタイリングをどのように処理しますか? Mar 25, 2025 pm 02:20 PM

Uniappは、Manifest.jsonを介してグローバル構成を管理し、app.vueまたはapp.scssを介してスタイリングを管理し、変数とミキシンにuni.scssを使用します。ベストプラクティスには、SCS、モジュラースタイル、レスポンシブデザインの使用が含まれます。

See all articles