在jQuery Mobile 1.4中,为什么$(window).scroll
没有被解雇?这是一个非工作示例,试图检测用户何时滚动到页面末尾:
$(document).on('pagecontainershow', function () {
$(window).scroll(function () {
if ($(window).scrollTop() + $(window).height() == $(document).height()) {
alert("Bottom reached!");
}
});
});
在pageshow
弃用之前,这在jQuery Mobile 1.3中运行良好:
$(document).on('pageshow', '.ui-page', function() {
$(window).scroll(function () {
if ($(window).scrollTop() + $(window).height() == $(document).height()) {
alert("Bottom reached!");
}
});
});
有人知道该怎么办吗?
答案 0 :(得分:19)
您不必使用任何第三方插件来实现无限滚动。你只需要听scrollstart
或scrollstop
并做一些数学运算。
您需要的是$(window).scrollTop()
,$.mobile.getScreenHeight()
,$(".ui-content").outerHeight()
,$(".ui-header").outerHeight()
和$(".ui-footer").outerHeight()
。
当$(window).scrollTop()
的值与视口的高度值减去内容div的高度加上工具栏高度相匹配时,表示您已到达页面底部
请注意,您应删除每个已修复工具栏的<{1}}检索高度。
将1px
听众附加到scrollstop
,然后定义高度变量。
document
Demo (1)
(1)在iPhone 5 Safari Mobile上测试