スクロール位置の検出

スクロールの開始と静止を検知するイベント

スクロールの開始を検知するscrollstartイベント
そして、スクロールの終了を検出するscrollstopイベント
の実装方法

例えば
一番上までスクロールしたら
1px下へスクロールさせ
ブラウザのnavigation bar を隠す

こうすると、画面が見やすくなる

$(window).on("scrollstop",function(e){

//スクロール位置が一番上のなったら
if(document.body.scrollTop== 0){

//縦方向へ1pxスクロールする
window.scrollTo(0,1);
}

});

このように、スクロール位置は
document.body.scrollTop
で取得できる

あと、Twitterみたいに、画面の一番下へ
スクロールしたら次のデータを読み込んで表示する
というように、一番下までスクロールしたことを検知するには

$(window).on("scrollstop",function(e){

//一番下までスクロールしたことを検知
if((document.body.scrollTop + window.innerHeight) == document.height){
//一番下までスクロールしたときの処理

}

});

となる

このように、
一番下までスクロールしたときの
スクロール位置である scrollTop

スクリーンの縦幅になる window.innerHeight
を足して
document.height
つまり、画面の縦幅と同じなら
一番下に達したと判断できる

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です