$(window).scroll(function() {
var yDistance = $('html, body').scrollTop();
//var el = $(this).get(0);
//if (el.offsetHeight + el.scrollTop >= el.scrollHeight) {
//if ((yDistance + $(window).height()) > ($.mobile.activePage.children('.ui-content').height() - 150)) {
if ($(window).scrollTop() == $(document).height() - $(window).height()) {
if (!lastIndexReached) {
pageIndex++;
GetWallpapers(pageIndex, pageSize);
}
}
});
在上面的代码中,我正在做的是当页面滚动到页面底部时,将调用一个新的ajax请求并附加到list.this至少在我的浏览器和我的意思模拟器,但当我在谷歌nexus 7上运行时,它不是在kick.i google并尝试了一些修补程序,这些修补程序在代码片段中进行了评论,但它没有帮助。
我正在使用jquerymobile + phonegap。
答案 0 :(得分:0)
我创建一个方法并像这样调用它
的setInterval( 'checkScroll()',1000);
function checkScroll() {
if ($(this).scrollTop() + $(this).height() >= ($(document).height() - 100)) {
if (lastIndexReached == false && process==false) {
process = true;
console.log(pageIndex);
pageIndex++;
GetWallpapers(pageIndex, pageSize);
}
}
}
每次滚动到底时,GetWallpapers()方法被调用大约10次,所以我创建了一个变量进程,其值变为false,当调用GetWallpapers()方法时,其值变为true,当新的html为在dom上我再次将其值设置为false。
这样我解决了我对问题的感谢@IvanIvković,谢谢你的帮助。
答案 1 :(得分:0)
对我来说,问题与视口设置有关。我并没有真正测试它,但我非常确定关闭用户扩展就是诀窍。这是我后代的完整视口标记:
<meta name="viewport" content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0'>
我还改为Ajax Infinite Scroll插件而不是oldschoool Paul Irish版本,但是在更改视口属性之前,该插件有同样的问题。