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 サイトの他の関連記事を参照してください。