2016-10-27 10 views
0

スクロールしようとしたときに何らかの機能を実行する必要がありますが、実際のスクロールは実行されません。たとえば、ページが一番上にスクロールされ、ユーザーが上にスクロールしようとしたとき、またはページがスクロールして下にスクロールしようとしたときなどです。ゼロスクロールをキャッチする方法は?

そのようなスクロールをキャッチする方法はありますか?

onscrollイベントが

UPDを助けなかった:人々が示唆したよう、すべてのスクロールの試みをキャッチする唯一の方法は、スクロール位置に影響を与えることができるアクションからすべてのイベントを見ることです。私が理解できる限り、マウスホイール、マウスホイール、キーボード(矢印、数字の矢印、スペース、ページアップ/ダウン、ホーム、エンド)、タッチのすべてのスクロール方法があります。

実際には、これは私に「どのようなスクロールの方法が存在するのですか」のような別の質問をしたいのですか?例えば

、私はゼロスクロールの試み(は英語で正しいこの表現である?ページを下にスクロールされたときhappennedが、ユーザがとにかくを、それを下にスクロールしようとしているスクロールの試みを)ダウンキャッチしたいです。スクロールイベントを使用して、ユーザーがスクロールして下にスクロールしてセット/アンセットするかどうかを判断します。finally_scrolled_to_the_bottomブール値フラグ。

次へ:

  1. タッチ:フラグが設定されている場合は、タッチリスナーに私が方向を確認してください、と方向が「ダウン」されている場合、私の機能、
  2. キーボードを発射:同じことを、あれば(キーは下矢印/ numdownarrow /スペース/ PAGEDOWN /終了です& &フラグが設定されている)をチェックし、そうならば - 、
  3. マウスホイールロールを、私の機能を発射:(方向は& &フラグが設定されているが「ダウン」された)かどうかを確認、はいの場合 - 火災機能、
  4. マウスホイールプレス:???

スクロールする方法はありますか?押されたマウスホイールで作られたスクロールを扱う方法は?私にとって

+0

スクロールが検出される可能性があります。あるいはマウスホイールに興味がありますか?スクロールしようとしたときに上下の矢印を気にしますか? –

+0

@EdmundReed、ええ、それはポイントです:マウス、キーボードなどの方法にかかわらず、すべてのスクロールアテンプを捕まえること – lucifer63

答えて

1

あなたはwheelイベントを探しているかもしれません。デバイスによっては、swiping,arrow keysなどでスクロールを試みることもできます。

私はあなたが本当にことができるとは思わないゼロスクロールの試み

をダウンキャッチしたいです。あなたがonscrollハンドラの中でコンテンツを一番下までスクロールダウンさせないようにするには良い解決策を考えてください。ユーザーは常に下にスクロールすることができます(そしてスクロールダウンの "試行"からいつもscrollイベントが発生します)が、おそらく1pxが残っていることに気付かないでしょう。

+0

実際には、スクロール位置に影響する可能性があるすべてのアクションのイベントを監視するのがあなたのアドバイスですか? – lucifer63

+0

はい。実際のスクロールは起こっていません。スクロールしようとするものがあります。そのためのイベントはないので、スクロールを引き起こす可能性のある操作を監視することが最善の方法です。 – Bergi

0

window.onwheel作品:

var foo = function() { 
    console.log(new Date()); 
} 

window.onwheel = foo; 

は私がページのトップに到達しても、コンソールに新しい情報を提供します。

@bergiが指摘しているように、マウスホイールはdeprecatedですが、オンホイールは直接交換になります。

+2

'mousewheel'は非推奨です – Bergi

+0

@Bergiありがとう、更新しました。 – moopet

関連する問題