2012-11-03 53 views
1

我有一个由4个div列组成的单个php/html页面网站。他们中的所有4人都从MySQL数据库中的特定表中提取结果,并且他们都很长。我决定寻求一种无限的滚动解决方案,但问题是我发现的所有脚本都是指只滚动一个div来追加结果。无限滚动多列?

所以我想通过一些定制它应该可以使它适用于多列。我决定放弃这一点:https://github.com/tournasdim/PHP-infinite-scrolling。我试着改变数值并添加多个查询源,然后将它们附加到不同的div上,但我不太确定该如何应对。

这是custom_jquery.js:

$.ajax({ 
dataType : "html" , 
url: "jquery-loadMoreComments.php?lastComment="+ $(".postedComment:last").attr('id') , 
success: function(html) { 
doMouseWheel = 1 ; 
if(html){ 
$("#postedComments").append(html); 
//console.log("Append html--------- " +$(".postedComment:first").attr('id')); 
//console.log("Append html--------- " +$(".postedComment:last").attr('id')); 
$("#last").remove(); 
$("#postedComments").append("<p id='last'></p>"); 
$('div#loadMoreComments').hide(); 
}else{  
$('div#loadMoreComments').replaceWith("<center><h1 style='color:red'>End of countries !!!!!!!</h1></center>"); 

你对如何采取这个有什么建议?

任何见解给予高度赞赏!

此外,如果您知道另一个脚本可以更好地开箱即用,或者需要更少的修改,欢迎您使用。

我目前使用CodeIgniter从数据库中提取结果并将它们显示在页面上,但因为它是一个简单的页面,所以我也可以在不使用CodeIgniter的情况下执行此操作。

+0

所有4列总是相同的高度? –

+0

由于所有列都从动态数据库加载其结果(通过管理面板单独管理),因此内部项目的数量通常会发生变化。所以,不,他们不会是同一个高度。 – SpiritFly

+0

@Jules谷轮如果它们的高度相同?如果它们有解决方案吗? – SpiritFly

回答

2

通过将滚动事件绑定到四个Ajax调用,使用不同的id,你可以快速和简单地做到这一点,但这将是非常低效的。

特别是如果它检查全部四列,即使您知道一个已经用完新内容。

理想情况下,您应该将所有四个呼叫合并为一个,然后相应地拆分响应。

没有看到更多的代码,我真的帮不了很多,但这应该是一个起点。

+0

由于我的项目很简单,并且没有加载很多结果,所以我按照您的建议快速且肮脏地完成了它。被称为脚本4次。我知道这样做效率低下,但我没有时间重写一次电话。 – SpiritFly