Бесконечная прокрутка для нескольких столбцов?

У меня есть сайт с одной страницей php/html, который состоит из 4 столбцов div. Все 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.


person SpiritFly    schedule 03.11.2012    source источник
comment
Будут ли все 4 столбца всегда одинаковой высоты?   -  person Jules Copeland    schedule 04.11.2012
comment
Поскольку все столбцы загружают свои результаты из базы данных, которая является динамической (управляется отдельно через панель администратора), количество элементов внутри будет часто меняться. Так что нет, они не будут одинакового роста.   -  person SpiritFly    schedule 04.11.2012
comment
@ Джулс Коупленд, что, если они одного роста? Есть ли решение, если они есть?   -  person SpiritFly    schedule 04.11.2012


Ответы (1)


Вы можете сделать это быстро и грязно, просто привязав событие прокрутки к четырем вызовам Ajax, используя разные идентификаторы, но это будет очень неэффективно.

Особенно, если он проверяет все четыре столбца, даже если вы знаете, что в одном из них закончилось новое содержимое.

В идеале вы должны объединить все четыре вызова в один, а затем соответствующим образом разделить ответ.

Не видя больше кода, я мало чем могу помочь, но это должно быть отправной точкой.

person Jules Copeland    schedule 04.11.2012
comment
Поскольку мой проект был простым и не загружал много результатов, я сделал это быстро и грязно, как вы предложили. Вызывал скрипт 4 раза. Я знаю, что это неэффективно, но у меня нет времени переписывать его за один звонок. - person SpiritFly; 05.11.2012