0

javascriptでブラウザのスクロールバーの垂直位置を取得しようとしています。私は現在jqueryscroll()関数を使用していますが、コールバックが少し遅いように感じます。ユーザーがブラウザーでスクロールするときにコールバックを使用するためのより高速でネイティブな方法があるかどうか疑問に思います。誰か知っている?

4

2 に答える 2

0

コールバックの実行に時間がかかりすぎると思われる場合は、コールバックを調整できます。最後に呼び出された時刻を追跡します:http://jsfiddle.net/fjjAw/

var lastCalled = 0;
$(window).on("scroll", function() {
  var now = Date.now();
  if(now - lastCalled > 1000) {  // only proceed if it has been one second since last call
    lastCalled = now;
    // do things
  }
});
于 2012-08-30T20:53:35.560 に答える
0

これが、リッスンするブラウザのDOMレベルのイベントです。jQueryを使用することをお勧めします。これは、これと同じネイティブイベントを使用し、ときどき発生する可能性のあるクラスプラットフォーム/クロスブラウザーの問題から苦痛を取り除くためです。

window.addEventListener ("scroll", function(){console.log('scrolling');});
于 2012-08-30T21:15:18.520 に答える