Бесконечная прокрутка на странице, загруженной ajax

У меня есть страница (назовем ее 1.php), которая загружает 2.php в div-box, используя jQuery-ajax. 2.php печатает 20 записей из моей базы данных. Когда я прокручиваю дно div-box, я хочу, чтобы он загружал следующие 20 записей. Как и Facebook, Twitter и т. Д., И т.д.

Теперь я получил это поведение, но только при загрузке 2.php на свой собственный! Но не внутри div-box.

Как мне это сделать?

Заранее спасибо!

Solutions Collecting From Web of "Бесконечная прокрутка на странице, загруженной ajax"

Файл 1.php должен выводить это:

<div id="content"> </div> <script type="text/javascript"> $(document).ready(function() { // when we scroll, check the position: $(window).scroll(function() { // if at bottom, add new content: if ($(window).scrollTop() == $(document).height() - $(window).height()) { $.get("2.php",function(data) { $("#content").append(data); },'html'); } }); }); </script> 

Если вы хотите отправить номер итерации на 2.php, вы можете запомнить его в некотором скрытом вводе и отправить его в качестве аргумента в $ .get ().

Надеюсь, поможет.

Вероятно, у вас есть код инициализации Javascript в 2.php, чтобы настроить обработчик событий прокрутки. Этот код инициализации не выполняется, когда вы загружаете страницу с помощью ajax и помещаете ее в div. Вам понадобится выполнить тот же код инициализации после обработки запроса Ajax.

Рассмотрите возможность использования плагина waypoints для jQuery: http://imakewebthings.github.com/jquery-waypoints/

И посмотрите пример бесконечной прокрутки: http://imakewebthings.github.com/jquery-waypoints/infinite-scroll/

Ключевым здесь является определение положения прокрутки. Правильно ли это работает?