我正在实施具有产品型号的电子商务应用程序,它包含许多产品,我想在每个页面显示有限数量的产品在应用程序中,如果我们滚动页面,它应该加载剩余的产品,如亚马逊或flipkart应用程序。如何在rails中实现这一目标?
我添加了will_paginate,它将显示在will_paginate per_page中指定的前n个数字项。如何显示剩余的项目?我怎样才能在api中处理这个问题?
答案 0 :(得分:1)
您可以添加kaminari gem或will_paginate gem。我认为active_admin在其中使用kaminari。
如果你跟着那些文档(两个宝石的行为相同) 它在视图上添加页码。如果您想自动加载下一个内容,这是一个想法,您必须谷歌了解您将如何实现。
在屏幕上显示第一个x元素,然后显示带有加载图标的div。添加js pagescroll事件并检查此div是否在屏幕中可见。如果是,请发送下一个元素的ajax请求。成功之后 - 完全ajax请求删除此加载图标div并追加结果,最后再添加加载div,以便在页面上滚动它再次发送ajax请求。
这里是jquery sudo代码(注意你需要检查和编辑代码这只是sudo代码)
page = 0
$(window).unbind("scroll")
handel_scrolling = function(){
if($(".loading").offset()){
//this if checks whether loading div appears in screen or not
if($(".loading").offset().top < $(window).scrollTop() + $(window).outerHeight()) {
page++
url = "myurl?page=" + page
$.ajax({
url: url,
success: function (data) {
ele = $(".loading")
$(".loading").remove()
$(".list").append(data)
$(".dashboard-list").append(ele)
},
error: function (data) {
console.log("something went wrong")
}
})
}}
}
$(window).scroll(function(event) {
handel_scrolling()
});