ホームページ ウェブフロントエンド jsチュートリアル vue がスクロール イベントをリッスンし、要素を上部または固定位置に表示する方法の詳細な説明

vue がスクロール イベントをリッスンし、要素を上部または固定位置に表示する方法の詳細な説明

May 10, 2018 pm 04:48 PM
イベント 要素

この記事では主に、Vue の特定の要素の天井または固定位置表示とスクロール イベントの監視について詳しく紹介します。興味のある方は参考にしていただければ幸いです。

私は最近、特定の部分の天井効果を達成する必要がある VUE Web アプリ プロジェクトを作成しました。つまり、ページが上にスライドしてこの部分に到達すると、この部分が固定されて上部に表示されます。

1. スクロール イベントをリッスンします
VUE を使用して、現在のスクロールトップをコンソールに出力するスクロールトップを作成します。まず、マウントされたフックのウィンドウにスクロール リッスン イベントを追加します。

mounted () {
 window.addEventListener('scroll', this.handleScroll)
},
ログイン後にコピー

次に、メソッド内で、この handleScroll メソッドを追加します

handleScroll () {
 var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
 console.log(scrollTop)
},
ログイン後にコピー

コンソールの出力結果:

2. 要素から上部までの距離を監視し、スクロール距離が要素から上部までの距離より大きいかどうかを判断し、searchBar を true に設定します。 、そうでない場合は false

handleScroll () {
 var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
 var offsetTop = document.querySelector('#searchBar').offsetTop
 if (scrollTop > offsetTop) {
 this.searchBarFixed = true
 } else {
 this.searchBarFixed = false
 }
},
ログイン後にコピー

要素を先頭に固定するスタイル、isFixed (書き込みを少なくする)

.searchBar{
 .isFixed{
 position:fixed;
 background-color:#Fff;
 top:0;
 z-index:999;
 }
 ul {
 WIDTH:100%;
 height: 40px;
 line-height: 40px;
 display: flex;
 li {
  font-size: 0.8rem;
  text-align: center;
  flex: 1;
  i {
  font-size: 0.9rem;
  padding-left: 5px;
  color: #ccc;
  }
 }
 border-bottom: 1px solid #ddd;
 }
}
ログイン後にコピー

次に、固定する必要がある要素のクラスを searchBar にバインドします。 searchBar が true の場合、これを適用します。修正されたスタイル

<p class="searchBar" id="searchBar">
 <ul :class="searchBarFixed == true ? &#39;isFixed&#39; :&#39;&#39;">
 <li>区域<i class="iconfont icon-jiantouxia"></i></li>
 <li>价格<i class="iconfont icon-jiantouxia"></i></li>
 <li>房型<i class="iconfont icon-jiantouxia"></i></li>
 <li>更多<i class="iconfont icon-jiantouxia"></i></li>
 </ul>
</p>
ログイン後にコピー

修正された結果:

このページを離れる場合は、この監視対象イベントを削除する必要があることに注意してください。削除しないと、エラーが報告されます。

destroyed () {
 window.removeEventListener(&#39;scroll&#39;, this.handleScroll)
},
ログイン後にコピー

関連する推奨事項:


JavaScript

jsを使用してナビゲーションの天井効果を実現するためのナビゲーションバーの天井操作を実装する方法に関する例の共有

react.jsを使用したタブの天井の実装の問題

以上がvue がスクロール イベントをリッスンし、要素を上部または固定位置に表示する方法の詳細な説明の詳細内容です。詳細については、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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

iPhone のロック画面で今後のカレンダーイベントを取得する iPhone のロック画面で今後のカレンダーイベントを取得する Dec 01, 2023 pm 02:21 PM

iOS 16 以降を実行している iPhone では、今後のカレンダー イベントをロック画面に直接表示できます。それがどのように行われるかを知るために読んでください。文字盤の複雑機構のおかげで、多くの Apple Watch ユーザーは、手首を一目見て次のカレンダーイベントを確認できることに慣れています。 iOS16 とロック画面ウィジェットの登場により、デバイスのロックを解除しなくても、同じカレンダーのイベント情報を iPhone で直接表示できるようになりました。カレンダー ロック画面ウィジェットには 2 つの種類があり、次に予定されているイベントの時間を追跡したり、イベント名とその時間を表示する大きなウィジェットを使用したりできます。ウィジェットの追加を開始するには、Face ID または Touch ID を使用して iPhone のロックを解除し、長押しします。

jQueryで選択要素の変更イベントバインディングを実装する方法 jQueryで選択要素の変更イベントバインディングを実装する方法 Feb 23, 2024 pm 01:12 PM

jQuery は、DOM 操作、イベント処理、アニメーション効果などを簡素化するために使用できる人気のある JavaScript ライブラリです。 Web 開発では、選択した要素のイベント バインディングを変更する必要がある状況によく遭遇します。この記事では、jQuery を使用して選択要素変更イベントをバインドする方法を紹介し、具体的なコード例を示します。まず、ラベルを使用してオプションを含むドロップダウン メニューを作成する必要があります。

PHPプロジェクトにカレンダー機能とイベントリマインダーを実装するにはどうすればよいですか? PHPプロジェクトにカレンダー機能とイベントリマインダーを実装するにはどうすればよいですか? Nov 02, 2023 pm 12:48 PM

PHPプロジェクトにカレンダー機能とイベントリマインダーを実装するにはどうすればよいですか?カレンダー機能とイベント リマインダーは、Web アプリケーションを開発する際の一般的な要件の 1 つです。個人のスケジュール管理、チームの共同作業、オンライン イベントのスケジュール管理など、カレンダー機能は便利な時間管理とトランザクションの手配を提供します。 PHP プロジェクトでのカレンダー機能とイベント リマインダーの実装は、次の手順で完了します。データベースの設計 まず、カレンダー イベントに関する情報を保存するデータベース テーブルを設計する必要があります。単純なデザインには次のフィールドを含めることができます: id: イベントに固有

CSS トランジション効果: 要素のスライド効果を実現する方法 CSS トランジション効果: 要素のスライド効果を実現する方法 Nov 21, 2023 pm 01:16 PM

CSS トランジション効果: 要素のスライド効果を実現する方法 はじめに: Web デザインでは、要素の動的な効果によりユーザー エクスペリエンスを向上させることができます。その中でも、スライド効果は一般的で人気のあるトランジション効果です。 CSS のトランジション プロパティを使用すると、要素のスライド アニメーション効果を簡単に実現できます。この記事では、CSS トランジション プロパティを使用して要素のスライド効果を実現する方法を紹介し、読者がよりよく理解して適用できるように具体的なコード例を示します。 1. CSS トランジション属性の概要 トランジション CSS トランジション属性 tra

CSS 変換: 要素の回転効果を実現する方法 CSS 変換: 要素の回転効果を実現する方法 Nov 21, 2023 pm 06:36 PM

CSS 変換: 要素の回転効果を実現する方法には、特定のコード サンプルが必要です。Web デザインでは、アニメーション効果はユーザー エクスペリエンスを向上させ、ユーザーの注意を引くための重要な方法の 1 つであり、回転アニメーションは最も古典的なものの 1 つです。 CSS では、「transform」属性を使用して、回転を含む要素のさまざまな変形効果を実現できます。この記事では、CSS「transform」を使用して要素の回転効果を実現する方法と、具体的なコード例を詳しく紹介します。 1.CSSの「transf」の使い方

PHP を使用してイベントベースのアプリケーションを構築する方法 PHP を使用してイベントベースのアプリケーションを構築する方法 May 04, 2024 pm 02:24 PM

PHP でイベントベースのアプリケーションを構築する方法には、EventSourceAPI を使用してイベント ソースを作成する方法と、EventSource オブジェクトを使用してクライアント側でイベントをリッスンする方法が含まれます。 Server Sent Events (SSE) を使用してイベントを送信し、XMLHttpRequest オブジェクトを使用してクライアント側でイベントをリッスンします。実際の例は、EventSource を使用して、電子商取引 Web サイトの在庫数をリアルタイムで更新することです。これは、サーバー側で在庫をランダムに変更して更新を送信することで実現され、クライアントは EventSource を通じて在庫の更新をリッスンし、それらを表示します。リアルタイム。

HTML と CSS を使用して固定ナビゲーション メニューを含むレイアウトを実装する方法 HTML と CSS を使用して固定ナビゲーション メニューを含むレイアウトを実装する方法 Oct 26, 2023 am 11:02 AM

HTML と CSS を使用して固定ナビゲーション メニューを含むレイアウトを実装する方法 最新の Web デザインでは、固定ナビゲーション メニューは一般的なレイアウトの 1 つです。ナビゲーション メニューを常にページの上部または横に配置できるため、ユーザーは Web コンテンツを便利に閲覧できます。この記事では、HTML と CSS を使用して固定ナビゲーション メニューのレイアウトを実装する方法を紹介し、具体的なコード例を示します。まず、Web ページのコンテンツとナビゲーション メニューを表示する HTML 構造を作成する必要があります。これが簡単な例です

CSS を使用して要素の透明度のグラデーション効果を実現する方法 CSS を使用して要素の透明度のグラデーション効果を実現する方法 Nov 21, 2023 pm 01:38 PM

CSS を使用して要素の透明グラデーション効果を実現する方法 Web 開発では、Web ページ要素にトランジション効果を追加することは、ユーザー エクスペリエンスを向上させる重要な手段の 1 つです。透明度のグラデーション効果は、ページを滑らかにするだけでなく、要素の重要なコンテンツを強調表示することもできます。この記事では、CSS を使用して要素の透明度のグラデーション効果を実現する方法を紹介し、具体的なコード例を示します。 CSS トランジション属性の使用 要素の透明グラデーション効果を実現するには、CSS トランジション属性を使用する必要があります。 t

See all articles