これを使用して、ユーザーがページ全体をスクロールダウンしたことを検出するのと同じ方法です。
$(window).scroll(function(){
var diff = $(window).scrollTop() + $(window).height() - $(document).height();
if ($(window).scrollTop() == $(document).height() - $(window).height() || (diff < 5 && diff > -5)){
console.log('yay!');
}
});
ダイアログ内でも同じことをしたかったのですが、
私はこのようにしようとしています:
$('#dialog').dialog();
$('#dialog').scroll(function(){
var scroll = $('#dialog').scrollTop();
var height = $('#dialog ul').outerHeight(true);
if(scroll == height){
$('#dialog').css('background','#999');
}else{
console.log('scrolltop is '+scroll+' and height is: '+height);
}
})
デモ:
私が推測する問題は、#dialogサイズ全体ではなく、表示されている(CSS定義済みプロパティ)サイズを取得していることです。
ユーザーがダイアログのスクロールの最後までスクロールしたことをどのように知ることができますか?
ありがとう!!