ホームページ > ウェブフロントエンド > jsチュートリアル > jquery検出ページでスクロールされた%

jquery検出ページでスクロールされた%

Joseph Gordon-Levitt
リリース: 2025-03-10 01:03:08
オリジナル
713 人が閲覧しました

jQueryを使用して、Webスクロール率を検出します

jQuery Detect % Scrolled on Page

次のjQueryコードスニペットは、ユーザーがWebページの特定の割合にスクロールしたときにイベントアクションをトリガーする方法を示しています。テストでは、マウススクロールイベントをキャプチャする場合、55%から100%の値を使用することが最適であることが示されています。

$(document).ready(function(){

// 例子:滚动到网页75%时显示一个div
var webpage = $("body");
var webpage_height = webpage.height();
var trigger_height = webpage_height * 0.75;


if ($(window).scrollTop() > (webpage_height-trigger_height)) {
    $("#divtoshow").show();
}

});
ログイン後にコピー
ログイン後にコピー

jQueryスクロールイベントFAQ(FAQ)

jQueryのスクロールイベントを検出する方法は?

jQueryでのスクロールイベントの検出は非常に簡単です。組み込み.scroll()メソッドを使用できます。このメソッドは、スクロールイベントをトリガーするか、スクロールイベントが発生したときに実行される関数を添付します。簡単な例を次に示します:

$(window).scroll(function(){
  console.log("检测到滚动事件!");
});
ログイン後にコピー
このコードでは、ウィンドウでスクロールイベントが発生するたびに、「スクロールイベントが検出されました!」

jQueryスクロールイベントの方向を決定する方法は?

jQueryスクロールイベントの方向を決定するには、より多くの操作が必要です。現在のスクロール位置は、以前のスクロール位置と比較する必要があります。基本的な例は次のとおりです

このコードでは、最後のスクロール位置を変数に保存します。次に、各スクロールイベントで、現在のスクロール位置を最後のスクロール位置と比較して、スクロールの方向を決定します。

jqueryの
var lastScrollTop = 0;
$(window).scroll(function(){
  var currentScrollTop = $(this).scrollTop();
  if (currentScrollTop > lastScrollTop){
    console.log("向下滚动");
  } else if (currentScrollTop < lastScrollTop) {
    console.log("向上滚动");
  }
  lastScrollTop = currentScrollTop;
});
ログイン後にコピー
メソッドの機能は何ですか?

jQueryの

メソッドは、要素セットの最初の要素と一致するスクロールバーの現在の垂直位置を取得または設定します。パラメーターなしで呼び出されると、パラメーターで呼び出されると、スクロール位置が設定されます。 .scrollTop()

ページが特定の位置にスクロールしたときに関数をトリガーする方法は?

.scrollTop()はい、ページが特定の位置にスクロールするときに関数をトリガーできます。これを行うには、スクロールイベントハンドラーの現在のスクロール位置を確認できます。例は次のとおりです。

このコードでは、スクロール位置が200ピクセルを超えるたびに、「スクロールが200ピクセルを超える」というメッセージがコンソールに記録されます。

jQueryでスクロールイベントをアニメーション化する方法は?

$(window).scroll(function(){
  if ($(this).scrollTop() > 200){
    console.log("滚动超过200像素");
  }
});
ログイン後にコピー
メソッドを使用して、jqueryでイベントをスクロールするアニメーションを使用できます。この方法を使用すると、数値にカスタムアニメーション効果を作成できます。例は次のとおりです。

このコードでは、ページは2秒でID「MyDIV」を使用して、要素の上位位置にスムーズにスクロールします。

jqueryでイベントのスクロールを停止したりブロックしたりできますか? .animate()

いいえ、jqueryのイベントのスクロールを停止またはブロックすることはできません。スクロールイベントはネイティブブラウザイベントであり、キャンセルすることはできません。ただし、マウスホイールイベントなど、スクロールを引き起こす可能性のある特定のイベントのデフォルトアクションをブロックできます。
$('html, body').animate({
  scrollTop: $("#myDiv").offset().top
}, 2000);
ログイン後にコピー

jQueryの特定の要素でスクロールイベントを検出する方法は?

jQueryの特定の要素に関するイベントのスクロールは、この要素に

メソッドを添付することで検出できます。例は次のとおりです。

このコードでは、要素ID「MyDiv」のスクロールイベント「スクロールイベントが#MyDIVで検出されました!」

jQueryで水平スクロールイベントを検出できますか?

はい、.scrollLeft()メソッドを使用して、jQueryの水平スクロールイベントを検出できます。このメソッドは.scrollTop()メソッドに似ていますが、水平スクロールに使用されます。

jQueryでの巻物イベントの終了を検出する方法は?

jQueryでのスクロールイベントの終了は、現在のスクロール位置と合計スクロール可能な高さを比較することで検出できます。例は次のとおりです。

$(document).ready(function(){

// 例子:滚动到网页75%时显示一个div
var webpage = $("body");
var webpage_height = webpage.height();
var trigger_height = webpage_height * 0.75;


if ($(window).scrollTop() > (webpage_height-trigger_height)) {
    $("#divtoshow").show();
}

});
ログイン後にコピー
ログイン後にコピー
このコードでは、スクロールエンドに到達すると、「スクロールエンドが検出されました!」

jQueryのモバイルデバイスでスクロールイベントを検出できますか?

はい、jqueryのモバイルデバイスでスクロールイベントを検出できます。

メソッドは、デスクトップブラウザーで動作するのと同じように動作します。ただし、モバイルブラウザーはデスクトップブラウザとは異なる方法でスクロールイベントを処理する場合があるため、複数のデバイスでコードをテストすることをお勧めします。 .scroll()

以上がjquery検出ページでスクロールされた%の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート