jqueryはスクロールバーが停止するかどうかを決定します

PHPz
リリース: 2023-05-25 12:23:07
オリジナル
606 人が閲覧しました

Web ページでは、スクロール バーの使用は動的な操作に関連することがよくあります。ただし、場合によっては、スクロールバーのスクロールが停止したかどうかを知る必要があります。この記事ではjQueryを使ってスクロールバーが停止したかどうかを判定する方法を紹介します。

まず、jQuery を使用してスクロール イベントを検出する方法を確認しましょう。 jQuery では、次のコードを使用してスクロール イベントをバインドできます。

$(window).scroll(function(){
  //scroll event code here
});
ログイン後にコピー

この例では、$(window) を使用して Web ページ全体を選択し、次に を使用します。 .scroll() メソッドを使用してスクロール イベントをバインドします。ユーザーがページをスクロールすると、このイベントがトリガーされ、対応するコードが実行されます。

スクロール バーが停止したかどうかを検出する場合は、追加のコードが必要です。具体的には、setTimeout() メソッドと変数を使用してスクロール バーの位置を記録し、それを新しい位置と比較してスクロール バーが停止したかどうかを判断する必要があります。以下はサンプル コードです。

//声明变量
var position = $(window).scrollTop();
var timeout = null;

$(window).scroll(function() {
  //清除定时器
  clearTimeout(timeout);
  //设置定时器
  timeout = setTimeout(function() {
    //判断是否停止滚动
    if ($(window).scrollTop() == position) {
      console.log("滚动条已停止");
      //停止滚动后执行的代码
    }
    //更新位置
    position = $(window).scrollTop();
  }, 50);
});
ログイン後にコピー

このコードでは、2 つの変数を作成します。 position は現在のスクロール バーの位置を記録するために使用され、timeout は次の目的に使用されます。設定するタイマーを保存します。ユーザーがページをスクロールすると、まず以前に設定したタイマーをクリアし、次に setTimeout() メソッドを使用して新しいタイマーを設定します。このタイマーは 50 ミリ秒後に実行され、スクロール バーの位置が以前と異なる場合、position の値を更新します。スクロール バーが以前と同じ位置にある場合は、スクロール バーが停止したことを示すメッセージを出力します。

ユーザーがスクロールを停止したことを確認するには、タイマーで計算する必要があることに注意してください。この例では、50 ミリ秒の間隔を使用しました。この数値は、精度とパフォーマンスを確保するために、ケースバイケースで調整できます。

これまでのところ、jQuery を使用してスクロール バーが停止したかどうかを判断することに成功しました。実際のアプリケーションでは、必要に応じてコードを追加して、より複雑な機能を実現できます。

以上がjqueryはスクロールバーが停止するかどうかを決定しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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