この記事では主に、Vue を使用してタブ ナビゲーション バーを実装し、flex レイアウトを使用して左右のスライドを実現し、ボタンの位置を計算し、最初の画面に表示された最後の要素をクリックしてもまだ表示されていない要素がある場合に、表示されていない要素を自動的にスライドして表示する方法について説明します。 タブナビゲーションバーのレイアウト: <セクションクラス="テーマリスト"> <div class="fixed-nav" ref="fixednav"> <div class="fixed-nav-content"> <p v-for="(item, index) テーマ内" :key="インデックス" :class="['タブタイトル', アクティブID === インデックス && 'タブの選択']" @click="changeTab(インデックス、$event)" > {{ アイテム }} </p> </div> </div> </セクション> テーマ: ['CSDN ブログ'、'ブログガーデン'、'大学受験がんばれ'、'高校受験がんばれ'、'リトルジョイ'、'70周年']、 アクティブID: 0 ナビゲーション バーのスタイル コード: .テーマリスト{ 上マージン: 12px; } .固定ナビゲーション{ オーバーフローx: スクロール; -webkit-オーバーフロースクロール: タッチ; } .fixed-nav-content { ディスプレイ: フレックス; } .タブタイトル{ パディング: 0 13px; 右マージン: 12px; 色: #141414; 境界線の半径: 13px; フォントサイズ: 12px; フレックス収縮: 0; 高さ: 0.52rem; 行の高さ: 0.52rem; } この時点で、次のスタイルを実装し、タブを左右にスライドすることができます。 幅が外部コンテナの幅より大きい場合にタブが縮小されないように、スタイル コードに このようにして、基本的なタブ ナビゲーション バーが実装されました。次に、これを実装します。「高校入試頑張ってください」をクリックすると、タブ全体が左にスライドして、残りのタブ要素が表示されます。 changeTab(id, イベント) { // 選択されたものが現在アクティブなものと異なる場合 if (id !== this.activeId) { this.activeId = id; // 現在のボタンの位置を計算して、移動する必要があるかどうかを確認します const spanLeft = event.clientX; // 現在クリックされている要素の左の距離 const divBox = document.querySelector(".select-tab").clientWidth / 2; // クリックされた要素の幅の半分 const totalWidths = document.body.clientWidth; // 画面全体の幅 const widths = totalWidths / 2; // 画面の幅の半分 const spanRight = totalWidths - spanLeft; // 要素の右の距離 const scrollBox = document.querySelector(".fixed-nav"); // 最も外側の要素を取得します const scrollL = scrollBox.scrollLeft; // スクロールバーがスクロールする距離 // 要素の左または右の距離が 100 未満の場合にスライドします if (spanRight < 100 || spanLeft < 100) { scrollBox.scrollLeft = scrollL + (spanLeft - 幅) + divBox; } } } この方法ではタブの自動スクロールを実現できますが、スライド時にスクロールバーが表示されるため、見た目があまり美しくないという問題がまだあります。 /*水平スクロールバーと垂直スクロールバーのサイズに応じて、スクロールバーの高さと幅、および背景の高さと幅を定義します*/ ::-webkit-スクロールバー{ 幅: 0.01rem; 不透明度: 0; 表示: なし; } /*スクロールバートラックの内側の影と丸い角を定義します*/ ::-webkit-スクロールバートラック{ 背景色: #fff; 不透明度: 0; } /*スライダーの内側の影と丸い角を定義します*/ ::-webkit-スクロールバー-サムネイル { 幅: 0.01rem; 境界線の半径: 0.01rem; 不透明度: 0; } このようにナビゲーションバーが実現され、会社の業務に合わせてナビゲーションバーのスタイルを変更することができます! これで、左右スライドをサポートするタブナビゲーションバーの Vue 実装に関するこの記事は終了です。Vue の左右スライドナビゲーションバーに関する関連コンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
この記事の例では、ふるい抽選を実装するためのミニプログラムの具体的なコードを参考までに共有しています...
目次序文1. Linux は yum ソースを変更します (MYSQL のインストールが遅い場合は試...
インストールパス: /application/mysql-5.5.56 1. 事前準備MySQL 依...
MySQL を使用して特定のステートメントを実行すると、データ量が多いためにデッドロックが発生し、...
目次1. 環境の紹介2. MySQL-8.0.19をインストールする3. MySQLを設定する1. ...
最初に書くこの記事では、ELK 7.3.0 の展開についてのみ説明します。展開環境:システムセントO...
最悪の選択肢は、結果を時間順に並べ替えて最初のものを取ることです。 *から選択 ここで、create...
Web デザインは、インターネットの出現後に誕生した新興の周辺産業です。 Web ページは店頭のよう...
目次1. JavaScriptについて2. JavaScript イベントループ3. マクロタスクと...
Vue でprovide+inject組み合わせを使用するまず、App.vue を変更する必要があ...
序文今日は、デザインパターンのクリエーションパターンを見直していたところ、JS でシングルトンパター...
Nginx の紹介Nginx は、高性能な HTTP およびリバース プロキシ サーバーであり、IM...
目次1. 概要1.1 Functionコンストラクタを使用して関数を作成する1.2 機能と目的2. ...
フロントエンド Web エンジニアとして、ページ効果を作成するときに次の現象に遭遇したことがあるはず...