and*_*gap 5 javascript jquery android jquery-mobile cordova
我有一个应用程序,我在其中显示来自服务的项目.在这里,我有大约200个项目要显示,这是一些很难看到的.
在这里,我想显示加载更多功能,通过显示前20和点击加载更多它将显示下一个20,依此类推.如果有人有想法,我无法找到如何实现这一点的方法请帮帮我.
对于phonegap/cordova 来说,加载 200 个项目并存储它们并不是一个好方法。我们正在谈论已经很慢的 HTML5 + JS 包装器,这会让它变得更慢。
更好的方法是使用 ajax 加载更多数据,当您到达列表视图末端或单击“加载新内容”按钮时,将触发 ajax 调用。
在这里您将找到一种带有“加载新内容”按钮的方法:
在这里,您将找到一种在到达列表视图末尾时自动加载列表视图的方法:
http://jsfiddle.net/dhavaln/nVLZA/
此示例需要此 jQuery 插件:http://imakewebthings.com/jquery-waypoints/
这是我的自动加载 listview 和 $.ajax 组合的示例:
http://jsfiddle.net/Gajotres/v4NxB/
代码示例,我重复一遍,这只是一个虚拟示例(仍在工作的虚拟示例):
// load test data initially
for (i=0; i < 10; i++) {
$("#list").append($("<li><a href=\"index.html\"><h3>" + i + "</h3><p>z</p></a></li>"));
}
$("#list").listview('refresh');
// load new data when reached at bottom
$('#footer').waypoint(function(a, b) {
// Load some dynamic data with $.ajax
$.ajax({url: "http://api.themoviedb.org/2.1/Movie.search/en/json/23afca60ebf72f8d88cdcae2c4f31866/The Goonies",
dataType: "jsonp",
jsonpCallback: 'successCallback',
async: true,
beforeSend: function() {
$.mobile.showPageLoadingMsg(true);
},
complete: function() {
$.mobile.hidePageLoadingMsg();
},
success: function (result) {
ajax.parseJSONP(result);
},
error: function (request,error) {
//alert('Network error has occurred please try again!');
}
});
$('#footer').waypoint({
offset: '100%'
});
}, {
offset: '100%'
});
var ajax = {
parseJSONP:function(result){
//var jsonObj = jQuery.parseJSON(parameters);
$("#list").append('<li>Movie name:<span> ' + result[0].original_name+ '</span></li>');
$("#list").append('<li>Popularity:<span> ' + result[0].popularity + '</span></li>');
$("#list").append('<li>Rating:<span> ' + result[0].rating+ '</span></li>');
$("#list").append('<li>Overview:<span> ' + result[0].overview+ '</span></li>');
$("#list").append('<li>Released:<span> ' + result[0].released+ '</span></li>');
$("#list").listview('refresh');
}
}
Run Code Online (Sandbox Code Playgroud)
您还需要在上一次调用结束之前阻止另一次 $.ajax 调用。
| 归档时间: |
|
| 查看次数: |
1110 次 |
| 最近记录: |