0

scrollTop私は自分のウェブサイトをナビゲートするために jQuery のマウスホイールの微調整と一緒に使用します。 3ページに行くノッチなど.

そのため、誰かがラップトップを使用してスクロールすると、非常にバグがあるように見えます。サイトの最後のページに直接移動します。

ユーザーがスクロールを停止するまで、スクロールのいくつかのノッチをキャッチする方法を知りたいです。このページとまったく同じです:neverbland.com

これが私のものです:knmprod.com/knmprod

4

3 に答える 3

0

これは機能しませんか?

​$(window).scroll(function(){alert(1)});​

http://jsfiddle.net/2hwu9/

于 2012-09-06T22:31:04.080 に答える
0

マウスホイールイベントを取得するたびにタイマーを設定し、別のイベントを取得するたびに最初のイベントをキャンセルします。

一定時間 (0.5 秒など) イベントの取得を停止してから、アクションをトリガーします。

var timer, longTimer = false, delta;

$('.page').bind('mousewheel', function(e, localDelta) {
  if(!longTimer) longTimer = setInterval(action, 1500);
  clearInterval(timer);
  timer = setInterval(action, 500);
  delta = localDelta;
}

function action() {
  clearInterval(timer);
  clearInterval(longTimer);
  longTimer = false;

  if(delta<0) {
    number=plusone(number);
    goToByScroll(number);
  } else {
    number= minusone(number);
    goToByScroll(number);
  } 
}
于 2012-09-06T22:05:07.380 に答える
0

マウスホイールプラグインとタイマーを使用して、ホイールが数ミリ秒 (たとえば 250 ミリ秒) 移動していないことを確認してから、ページの変更を実行できます。これにより、マウスの速度や種類に関係なく、マウスの動きごとに 1 つのページ変更が可能になります。これは neverbland.com と同じです。

$('body').mousewheel(function() {
  clearTimeout($(this).data('timer'));
  $(this).data('timer', setTimeout(function() {
     alert('Change Page');
  }, 250));
});

JSFiddle ここに

これが役立つことを願っています!

于 2012-09-06T22:21:09.190 に答える