2012-03-20 67 views
3

你怎么知道你在jQuery Mobile列表的最底部,我需要延迟加载更多的结果,当列表结束时?jQuery Mobile懒惰加载列表项

+0

你所说的“当到达列表的末尾”是什么意思?你的意思是当用户滚动到当前列表的底部? – shanabus 2012-03-20 12:51:21

回答

8

这里有使用scrollstartscrollstop事件的工作示例,这应该让你在正确的方向前进:http://jsfiddle.net/shanabus/LJTJt/

文档页面在这里:http://jquerymobile.com/test/docs/api/events.html

希望这有助于!

UPDATE

this post的帮助下,我才得以线了一个更好的例子,做检测对页面的底部。如果您的列表视图不在页面的底部,这将无法正常工作。检查控制台是否有位置调试信息。

http://jsfiddle.net/shanabus/LJTJt/1/

在这里,当你到达列表的底部,它只是增加了一个新的项目。

+0

非常感谢这一点,即时通讯只是不知道我怎么会知道,如果我在结束 - 也许有一种方法绑定到最后一条记录是在视口的事件? – Manatok 2012-03-20 13:14:24

+0

坚持下去,我有一个更好的例子来使用元素的高度来做一些检测... – shanabus 2012-03-20 13:19:42

+0

你是一个传奇我的朋友! – Manatok 2012-03-20 13:37:03

3

简单的代码来加载页面底部的更多项目。

if ($(window).scrollTop() > $('#page1').height() - 500) { 
     eventsElement.append('<li><a href="">Stop</a></li>'); 
     eventsElement.listview('refresh'); 
} 

对于全例如,

see Code here

使用jquery-mobile-iscrollview会更好。它提供了下拉拉起事件

Git hub link

+0

这对我没有好处(如果你有一个大屏幕)。我的解决方案是:if($(window).scrollTop()+ $(window).height()> $(document).height() - 100)loadMore(); – 2013-10-21 06:25:25

+1

当然,您可以随时通过调整值来自定义窗口高度:) – 2013-10-21 10:53:56