我已经构建了一个使用ajax进行分页的应用程序(使用PHP,Codeigniter和jQuery),类似于Twitter在当天的回放方式(单击按钮加载更多数据)。
一切都很好,但是有一些问题。
如果没有剩余的帖子可以加载,我希望删除“load-more”按钮。但是,现在我只能检查单击按钮时是否还有帖子,脚本返回null。
现在就是这样:假设数据库中有14个帖子。默认情况下加载5。
1 - 点击加载更多,再加载5个帖子。 4留下。
2 - 点击加载更多,剩余的4个帖子已加载。
3 - 点击加载更多,不再剩余帖子,按钮消失
但是我想摆脱第3步,应用程序应该“意识到”在第2步没有更多的帖子要呈现。
我确信有一种简单的方法,我还没想过......
答案 0 :(得分:2)
简单。选择6个帖子而不是5个,仅显示5.如果不少于6个帖子,则不显示更多按钮。
if ($num_rows < 6){
//remove more button
}
答案 1 :(得分:0)
您可以设置一个全局Javascript变量,其中包含的总帖子数量如下:
var total = <?php echo $total ?>;
通话结束后将金额与总数进行比较:
if($('.post').length == total) // .post being database results
$('#loadmore').hide();
答案 2 :(得分:0)
返回一个JSON对象,其中一个属性是一个数组(条目),另一个属性是bool“EOF”或类似属性,以指示何时没有更多条目要加载。
如果(response.EOF) //隐藏按钮..
哦,并在AjaxRequest中添加当前分页的最后一个帖子的id。 这样,服务器就会给你说出它给你的最后一个帖子。 如果在分页期间添加新帖子,则不会产生偏移。
答案 3 :(得分:-1)
你可以尝试这样的事情
if ($num_rows < 5){
/*what ever you want removed */
}
在循环结束时
答案 4 :(得分:-1)
a $$中的痛苦是以自然的方式导航这些页面,无法使用后退按钮或重新加载按钮或设置bokmark或任何东西!
更不用说完全不支持js的客户了