スクロールイベントは、ページや要素のスクローリングに反応することができます。私たちがここでできることはたくさんあります。
例えば:
- ユーザーがドキュメント内のどこにあるかに応じて、追加のコントロールや情報を表示/非表示する。
- ユーザがページの下までスクロールしたときに追加のデータを読み込む。
ここに現在のスクロールを表示する小さい関数があります:
window.addEventListener('scroll', function() {
document.getElementById('showScroll').innerHTML = pageYOffset + 'px';
});
実行:
現在のスクロール = scroll the window
scroll
イベントは window
とスクロール可能な要素両方で動作します。
スクロールを防止する
どうやってスクロールをできなくするのでしょう? onscroll
リスナの中で、event.preventDefault()
によってスクロールを防止することはできません。なぜなら、それはスクロールがすでに行われた 後 にトリガされるからです。
しかし、スクロールを引き起こすイベントの event.preventDefault()
によるスクロールを防ぐことができます。
例えば:
wheel
イベント – マウスホイールの回転 (“スクロール” タッチパッドアクションもそれを生成します)- pageUp や pageDown のための
keydown
これは役立つ場合があります。しかし、他にもスクロールする方法があり、それらすべてを処理するのは非常に難しいです。そのため、何かをスクロールできないようにするには、 overflow
プロパティのように CSS を使うのが、より信頼できる方法です。
ここでは、 onscroll
時のアプリケーションを解いたり、目を通すことができるタスクはほとんどありません。
コメント
<code>
タグを使ってください。複数行の場合は<pre>
を、10行を超える場合にはサンドボックスを使ってください(plnkr, JSBin, codepen…)。