ナビゲーションなどは日々の開発でよく使うので、記録として記事を書きます。ナビゲーションは終了/開始位置をクリックすることで実装され、ナビゲーションによって次の項目が自動的にスライドアウトされます。 アイデア:現在クリックされている項目の画面に対する位置を決定します。クリックされた位置が移動制限を満たしている場合は、自動スライド処理を実行します。 実装は次のとおりです。 ビュー <テンプレート> <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 を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: CentOS7 から CentOS8 にアップグレードする方法 (詳細な手順)
私たちは Web 開発者として、プロの DBA ではありませんが、データベースなしではやっていけませ...
この記事では、Jingdong虫眼鏡を模倣したJavaScriptの具体的なコードを参考までに共有し...
Harbor は、Docker イメージを保存および配布するためのエンタープライズ レベルのレジスト...
百度入力方式の担当者は、百度入力方式のオープンAPIの最大の利点は操作が便利であることであり、プラッ...
1. 永久的な変更、すべてのユーザーに有効# vi /etc/プロファイル//キーボードの[Shi...
スワップ メモリとは、主に物理メモリが不足している場合に、システムがハード ディスク領域の一部をサー...
ウェブサイトがワイドスクリーンの場合、ブラウザ ウィンドウを左右にドラッグすると、ウェブサイトの幅が...
面接の質問で、3 行 3 列のレイアウトが求められます。1 行目の 2 番目の列と 2 行目の 2 ...
テスト サーバーにログインするたびに、必ず ssh ログインのパスワードを入力する必要があります。ロ...
意味Calcite は、Sql を SqlNode に解析し、次に SqlNode を特定のデータベ...
この記事では、参考までにMySQL 8.0.17のインストールグラフィックチュートリアルを紹介します...
Samba サービス:このコンテンツはサンバサービス学習者の参考用ですケースの説明:企業の管理者は、...
ホスト 'xxxx' はこの MySQL サーバーに接続できませんエラー: 1130...
目次1. 実験環境2. Dockerソースをインストールする3. Dockerをインストールする4....
序文この記事は主に、MySQL で浮動小数点型を文字型に変換するときに発生する問題を紹介します。これ...