使用以下代码,我试图找到用户滚动到页面底部的时间。在JQuery mobile。
$(window).scroll(function(){
if($(window).scrollTop() == $(document).height() - $(window).height()){
alert("The Bottom");
}
});
现在我只是想让它输出它们已经到了底部。
我的问题是,当网站加载时,它会输出此消息。当我滚动到底部时,它将输出警报。
有没有办法阻止它在页面加载时执行,只在用户实际滚动页面时才执行此操作?
由于
答案 0 :(得分:7)
是因为您的内容比您的网页短吗?这意味着当它加载时,你已经在底部了。我试图在这里复制你的问题http://jsfiddle.net/qESXR/2/,它的行为就像你想要的那样。但是,如果我缩短内容并在我的机器上本地运行,我会得到相同的结果 如果是这样,您可以使用这些
检查页面的高度与html的高度$(window).height(); // returns height of browser viewport
$(document).height(); // returns height of HTML document
像这样:
$(window).scroll(function(){
if($(document).height() > $(window).height())
{
if($(window).scrollTop() == $(document).height() - $(window).height()){
alert("The Bottom");
}
}
});
答案 1 :(得分:1)
问题在于jQuery Mobile的page widget将每个“页面”视为滚动的窗口。要检测用户何时滚动到最后,请将滚动功能绑定到$(document)
:
$(document).scroll(function () {
if ($(window).scrollTop() + $(window).height() == $(document).height()) {
alert("Bottom reached!");
}
});