[解決済み] ユーザーが特定の要素にスクロールしたときにイベントを発生させる - jQueryを使用した場合
2023-02-01 12:01:20
質問
h1がページのかなり下の方にあるのですが...。
<h1 id="scroll-to">TRIGGER EVENT WHEN SCROLLED TO.</h1>
で、ユーザーがh1までスクロールしたとき、またはブラウザのビューにh1があるときにアラートをトリガーしたいと思います。
$('#scroll-to').scroll(function() {
alert('you have scrolled to the h1!');
});
どうすればいいですか?
どのように解決するのですか?
を計算することができます。
offset
を計算し、それを
scroll
のような値で比較します。
$(window).scroll(function() {
var hT = $('#scroll-to').offset().top,
hH = $('#scroll-to').outerHeight(),
wH = $(window).height(),
wS = $(this).scrollTop();
if (wS > (hT+hH-wH)){
console.log('H1 on the view!');
}
});
これを確認する デモ・フィドル
更新情報 デモ・フィドル アラートなし -- 代わりに要素をFadeIn()する。
要素がビューポート内にあるかどうかをチェックするコードを更新しました。このため、if文にいくつかのルールを追加することで、上下にスクロールしていても動作します。
if (wS > (hT+hH-wH) && (hT > wS) && (wS+wH > hT+hH)){
//Do something
}
関連
-
[解決済み】divの高さを画面の残りスペースで埋めるようにする
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] jQueryでチェックボックスに "checked "を設定する
-
[解決済み] event.preventDefault() vs. return false
-
[解決済み] jQueryで要素にスクロールする
-
[解決済み] .prop() vs .attr()
-
[解決済み] AngularJSでデータバインディングはどのように機能するのですか?
-
[解決済み] jQueryで名前を指定して要素を選択するには?
-
[解決済み] テキストボックスのEnterキーで、JavaScriptでボタンクリックをトリガーする
-
[解決済み】ユーザーが一番下までスクロールしたかどうかを確認する(ウィンドウだけでなく、任意の要素)【重複】。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 配列からオブジェクトを生成する
-
[解決済み] jqueryでdivの要素がオーバーフローしていないかチェックする
-
[解決済み] 文字列がすべて同じ部分文字列で構成されているかどうかを調べるにはどうすればよいですか?
-
[解決済み] 文字列のn番目の出現箇所を取得するには?
-
[解決済み] Javascriptで動的に命名されたメソッドを呼び出すにはどうすればよいですか?
-
[解決済み] jqueryはjavascriptのライブラリなのかフレームワークなのか?[クローズド]
-
[解決済み] JavaScriptでjson-objectのキーを取得する [重複].
-
[解決済み] jQueryを使用して、すべてのクリックイベントハンドラを削除するにはどうすればよいですか?
-
[解決済み] JavaScriptのArray.sort()メソッドでシャッフルするのは正しいのか?
-
[解決済み] リダイレクトされずにHTMLフォームを送信する方法