Vueは左上と右上のスライドナビゲーションを実装します

Vueは左上と右上のスライドナビゲーションを実装します

ナビゲーションなどは日々の開発でよく使うので、記録として記事を書きます。ナビゲーションは終了/開始位置をクリックすることで実装され、ナビゲーションによって次の項目が自動的にスライドアウトされます

アイデア:現在クリックされている項目の画面に対する位置を決定します。クリックされた位置が移動制限を満たしている場合は、自動スライド処理を実行します。

実装は次のとおりです。

ビュー

<テンプレート>
  <div class="デバッグインデックスページ">
    <div class="tab-layout" id="scroller">
      <ul v-for="(tab, idx) in tabList" :key="idx​​">
        <li
          :id="`タブ-${tab.id}`"
          クラス="タブ項目"
          @click="onClickTab(タブ)"
          :style="`背景:${tab.select ? '赤' : 'なし'}`"
        >
          {{タブ.テキスト}}
        </li>
      </ul>
    </div>
  </div>
</テンプレート>

JS

エクスポートデフォルト{

    データ() {
        戻る {
            タブリスト: [],
        }
    },

    作成された() {
        リスト = [
            「私の貴族たち」
            「ノーブル1」、
            「マイノーブル2」
            「ノーブル3」、
            「ノーブル4」、
            「ノーブル5」、
            「マイノーブル6」
            「マイノーブル7」
        ];

        リスト.forEach((テキスト、idx) => {
            this.tabList.push({
                文章、
                id: idx, // タブ識別子 select: idx == 0, // 選択されているかどうか index: idx // 表示されている場所 });
        });
    },

    計算: {
        curTab() {
            this.tabList.find(v => v.select) を返します。
        }
    },

    メソッド: {

        onClickTab(タブ情報) {
            curTab を this.curTab とします。
            curTab.id == tabInfo.id の場合、戻り値は次のようになります。
            {インデックス、id} = tabInfo;
            // スライド コントロール let scroller = document.getElementById("scroller");
            speed = scroller.scrollWidth / this.tabList.length; とします。
            tab = document.getElementById(`tab-${id}`);
            bWidth を document.body.clientWidth とします。
            // 右をクリックします if (curTab.index < index && tab.clientWidth * index >= bWidth - speed) {
            // スライド距離 scroller.scrollLeft = (index + 2) * speed - bWidth;
            } そうでない場合、(curTab.index > index && (tab.clientWidth * index - (scroller.scrollLeft + bWidth) < speed)) {
            // スライド距離 scroller.scrollLeft = (index - 1) * speed;
            }

            curTab.select を false に設定します。
            this.tabList[インデックス].select = true;
        }
    }
}

少ない

.debug-index-page {
    幅: 100%;
    オーバーフロー:非表示;


  .タブレイアウト{
    幅: 100%;
    オーバーフローx: スクロール;
    ディスプレイ: フレックス;

    .タブ項目{
      幅: 1rem;
      テキスト配置: 中央;
    }
  }
}

上記はナビゲーション表示です。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Vueはタブナビゲーションバーを実装し、左右のスライド機能をサポートしています
  • Vue は左右のスライド効果のサンプルコードを実装します
  • Vue+swiperは左右にスライドするテスト問題機能を実装します
  • Vueはスワイパーを使用して左右にスライドすることで画像を切り替える
  • Vueはbetter-scrollを使用してスライドと左右の連動を実現しています
  • Vueモバイル端末での左右スライドイベントの詳しい説明
  • Vueモバイル端末は携帯電話を左右にスライドして入力するアニメーションを実現
  • Vueでモバイル端末上で左右スライド効果を実現する方法
  • Vueをベースにページ切り替えの左右スライド効果を実装する
  • Vueの左右スライドボタングループコンポーネントの使い方の詳細な説明

<<:  CentOS7 から CentOS8 にアップグレードする方法 (詳細な手順)

>>:  MySQL ビューの紹介と基本操作のチュートリアル

推薦する

Linux での感嘆符コマンド (!) の使用の概要

序文最近、弊社では mbp の設定をしており、ssh を使うことが多くなりました。複雑なコマンドを書...

HTMLでは、div内のコンテンツが次のサイズを超えたときに自動的にスクロールバーが表示されるように設定します。

HTML ページでは、div 内のコンテンツが制限を超えた後に自動的にスクロール バーを表示する必要...

MySQL 最適化の概要 - クエリエントリの合計数

1. COUNT(*) と COUNT(COL) COUNT(*)は通常、主キーに対してインデックス...

HTMLテキストの一般的なイベントとメソッドの詳細な説明

イベントの説明onactivate: オブジェクトがアクティブ要素として設定されたときに発生します。...

HTML ページでギリシャ文字を使用する方法

ギリシャ文字は、特に数学や物理学などの科学技術分野で非常によく使用される記号列であり、特定の意味を持...

Docker ベースの ELK ログ システムを構築する方法

背景要件:ビジネスがどんどん大きくなると、サーバーの数も増え、さまざまなアクセスログ、アプリケーショ...

HTML における要素の水平および垂直中央揃えに関する議論

ページをデザインするときには、ログイン ウィンドウを中央に配置するなど、DIV を中央に配置し、ペー...

Vue2.x および Vue3.x のカスタム命令の使用方法とフック関数の原理を理解する

目次Vue2.x の使用法グローバル登録部分登録使用フック機能フック関数のパラメータVue3.x の...

IE6 の select を div でカバーできないバグの解決方法

div を使用してマスクを作成したり、ポップアップ ウィンドウをシミュレートしたりします。ただし、I...

CSS3 テキストシャドウ text-shadow プロパティの詳細な説明

テキストシャドウ text-shadow プロパティの効果: 1. 右下隅の影、左下隅の影、左上隅の...

Linux (Ubuntu) での MySQL 5.6.28 のインストールと設定のチュートリアル

mysql5.6.28のインストールと設定方法1. 基本的なシステム情報を確認し、yumでインストー...

webpackの遅延読み込みとプリロードの詳細な説明

目次通常の読み込み遅延読み込みプリロードプリロードを使用しないプリロードの使用要約する通常の読み込み...

HTMLでマスクレイヤーを実装する方法 HTMLでマスクレイヤーを使用する方法

Web ページでマスク レイヤーを使用すると、繰り返しの操作を防ぎ、読み込みを促進できます。また、ポ...

WeChatアプレットがシンプルな計算機機能を実装

この記事では、WeChatアプレットの計算機機能を実装するための具体的なコードを参考までに紹介します...