#末端までスクロールした時にscroll_callbackをする
- scroll_callbackに実行したい関数を代入する
- scroll_callbackに、nullを代入すると止まる。
##参考
- http://archiva.jp/web/javascript/get_page-size.html
- http://satussy.blogspot.jp/2011/11/blog-post_25.html
var isWin9X = (navigator.appVersion.toLowerCase().indexOf('windows 98')+1);
var isIE = (navigator.appName.toLowerCase().indexOf('internet explorer')+1?1:0);
var isOpera = (navigator.userAgent.toLowerCase().indexOf('opera')+1?1:0);
if (isOpera) isIE = false;
var isSafari = (navigator.appVersion.toLowerCase().indexOf('safari')+1?1:0);
function getScrollPositionY() {
return document.documentElement.scrollTop || document.body.scrollTop;
}
function getScrollSizeY() {
return document.documentElement.scrollHeight || document.body.scrollHeight;
}
function getScreenSizeY() {
var y = new Object();
if (!isSafari && !isOpera) {
y = document.documentElement.clientHeight || document.body.clientHeight || document.body.scrollHeight;
} else {
y = window.innerHeight;
}
return y;
}
//上書きする
var scroll_callback = null;
//イベントリスナー
var scroll_timer;
window.addEventListener("scroll", function(){
clearTimeout(scroll_timer);
scroll_timer = setTimeout(function(){
if(scroll_callback!=null){
if( (getScrollSizeY() - getScrollPositionY() - getScreenSizeY()) < 50 ){
scroll_callback();
}
}
}, 500);
});