2015/01/06

[Android][JavaScript]スクロール終了検知

少し前のau開発者ブログでスクロールイベント(onscroll)のブラウザ差分についてというエントリーでandroidブラウザのスクロール終了検知の処理が書いてあったので引用する。

var timerID; 
window.onscroll = function() {
  // タイマーにより、スクロール終了時のみ処理を実行 
  if (timerID != null) { 
    clearTimeout(timerID); 
  } 
  timerID = setTimeout(function(){
      // スクロール終了時に実施したい処理
    } 
  }, 500); 
}
ただ、これ、実は、typoしているんじゃないかと思っておりまして、正確には、
var timerID; 
window.onscroll = function() {
  // タイマーにより、スクロール終了時のみ処理を実行 
  if (timerID != null) { 
    clearTimeout(timerID); 
  } 
  timerID = setTimeout(function(){
      // スクロール終了時に実施したい処理

  }, 500);
}
の気がする。

この処理は、スクロール終了後500msで発生するイベントを仕込んでいるので、
var timerID; 
window.onscroll = function() {
  // タイマーにより、スクロール終了時のみ処理を実行 
  if (timerID != null) { 
    clearTimeout(timerID); 
  } 
  timerID = setTimeout(function(){
      // スクロール終了時に実施したい処理

  }, 100);
}
みたいな感じでタイマーの間隔を短くするのもありなんじゃないかと思ったりした。

0 コメント:

コメントを投稿