infinity.js
- это скрипт для универсальной бесконечной прокрутки, который не считает пиксели без нужды и умеет останавливаться после нескольких страниц.
Для его работы у вас на странице должны быть:
-
Раздел с содержимым, к которому будет дописываться содержимое следующих страниц. Например, заданный так:
<div class="messages">Первая страница</div>
-
Раздел со списком страниц, содержимое которого будет заменяться при открытии следующих страниц. В нём должна быть отмечена ссылка на следующую страницу. Например, такой:
<div class="pager"> <a href="index.html">Страница 1</a> <a href="2.html" class="nextpage">Страница 2</a> <a href="3.html">Страница 3</a> <a href="4.html">Страница 4</a> <a href="5.html">Страница 5</a> <a href="6.html">Страница 6</a> <a href="7.html">Страница 7</a> </div>
В самом минимальном варианте в нём может быть лишь ссылка на следующую страницу. Пример:
<div class="pager"> <a href="2.html" class="nextpage">Следующая страница</a> </div>
Селекторы для поиска разделов задаются в удобном и подходящем виде прямо в скрипте в переменных elementContainerSelector
, pagerSelector
и nextPageSelector
.
Весь скрипт подробно откомментирован, потому читайте его без опаски.
Запустите что вам по душе:
python -m SimpleHTTPServer
Или:
php -S localhost:8000
Затем проследуйте по ссылке чтобы увидеть как загружаются новые страницы.
В консоли можно наблюдать как открываются следующие страницы при прокрутке.
Serving HTTP on 0.0.0.0 port 8000 ...
127.0.0.1 - - [00:00:35] "GET /example/ HTTP/1.1" 200 -
127.0.0.1 - - [00:00:35] "GET /infinity.js HTTP/1.1" 200 -
127.0.0.1 - - [00:00:37] "GET /example/2.html HTTP/1.1" 200 -
127.0.0.1 - - [00:00:37] "GET /example/3.html HTTP/1.1" 200 -
По-умолчанию для просмотра четвертой страницы требуется действие пользователя. Количество страниц настраивается в переменной maxPages
в скрипте.