ナビゲーションなどは日々の開発でよく使うので、記録として記事を書きます。ナビゲーションは終了/開始位置をクリックすることで実装され、ナビゲーションによって次の項目が自動的にスライドアウトされます。 アイデア:現在クリックされている項目の画面に対する位置を決定します。クリックされた位置が移動制限を満たしている場合は、自動スライド処理を実行します。 実装は次のとおりです。 ビュー <テンプレート> <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 にアップグレードする方法 (詳細な手順)
序文最近、弊社では mbp の設定をしており、ssh を使うことが多くなりました。複雑なコマンドを書...
HTML ページでは、div 内のコンテンツが制限を超えた後に自動的にスクロール バーを表示する必要...
1. COUNT(*) と COUNT(COL) COUNT(*)は通常、主キーに対してインデックス...
イベントの説明onactivate: オブジェクトがアクティブ要素として設定されたときに発生します。...
ギリシャ文字は、特に数学や物理学などの科学技術分野で非常によく使用される記号列であり、特定の意味を持...
背景要件:ビジネスがどんどん大きくなると、サーバーの数も増え、さまざまなアクセスログ、アプリケーショ...
ページをデザインするときには、ログイン ウィンドウを中央に配置するなど、DIV を中央に配置し、ペー...
目次Vue2.x の使用法グローバル登録部分登録使用フック機能フック関数のパラメータVue3.x の...
div を使用してマスクを作成したり、ポップアップ ウィンドウをシミュレートしたりします。ただし、I...
テキストシャドウ text-shadow プロパティの効果: 1. 右下隅の影、左下隅の影、左上隅の...
mysql5.6.28のインストールと設定方法1. 基本的なシステム情報を確認し、yumでインストー...
目次通常の読み込み遅延読み込みプリロードプリロードを使用しないプリロードの使用要約する通常の読み込み...
Web ページでマスク レイヤーを使用すると、繰り返しの操作を防ぎ、読み込みを促進できます。また、ポ...
この記事では、WeChatアプレットの計算機機能を実装するための具体的なコードを参考までに紹介します...
<br />原文: http://jorux.com/archives/what-is-...