“Бесконечная прокрутка” эффект в [закрытой] HTML-таблице

Я решил это и подумал, что другим будет полезно, если у кого-то возникнет такая же проблема.

Поскольку данные были перенесены из локального проекта, извлеките базу данных PostgreSQL в файл сценария, используя pg_dump [database_name] > [outfile.sql].

Файл .sql, созданный pg_dump, предназначен для чтения программой psql. Общая форма команды для восстановления дампа: psql [database_name] < [outfile.sql]

Документация для переноса данных: https://postgresapp.com/documentation/migrating-data.html

Ссылка: https://www.postgresql.org/docs/9.1/backup-dump.html

.

10
задан Guido 19 October 2008 в 16:04
поделиться

7 ответов

Спасибо за Ваши ответы. Это - мой заключительный рабочий код (вдохновленный Greg и ajaxian.com), который использует некоторые функции jQuery и работы с YUI DataTable.

$(".yui-dt-bd").scroll(load_more);

function load_more() {              
    if ($(this).scrollend()) {
        alert("SCROLL END REACHED !");
        // TODO load more data
    }
}

$.fn.scrollend = function() {
    return this[0].scrollHeight - this[0].scrollTop - this.height() <= 0;
}

Мой следующий шаг должен реализовать мой собственный YUI Paginator для достижения полной интеграции с компонентами YUI :)

4
ответ дан 4 December 2019 в 01:58
поделиться

Я не знаком с определенным элементом, который Вы используете, но для реализации этого на полноэкранном окне, можно сделать следующее:

$wnd.onscroll = function() {
    if (($wnd.height - $wnd.scrollTop) < SOME_MARGIN) then doSomething();
};

Где scrollTop по существу, "сколько пикселей было прокручено". Я принимаю применение этого к таблице, с которой Вы работаете, сделает задание.

2
ответ дан 4 December 2019 в 01:58
поделиться

Я только что погуглил для него и нашел эту статью: Реализовывая Динамическую Прокрутку с Ajax, JavaScript и XML. Это похоже на полное объяснение.

2
ответ дан 4 December 2019 в 01:58
поделиться

При использовании YUI он имеет tableScrollEvent, который запущен, когда таблица прокручивает. Свяжите это с функцией generateRequest таблицы данных, и Вы могли реализовать бесконечную прокрутку путем наблюдения tableScrollEvent и запуска запроса, когда Вы добираетесь около конца Вашего набора данных.

Документ YUI не имеет определенного примера для этого случая, но действительно показывает Вам, как обработать данные, возвращенные generateRequest

0
ответ дан 4 December 2019 в 01:58
поделиться

Существует свойство, которое я заметил при прочтении свойств DOM в Firebug сегодня, названном scrollY (в Firebug под DOM вкладка переходят в content > scrollY) который, кажется, сумма пикселей, оставленных прокручивать на окне. Попытайтесь видеть, создается ли это также для элементов с возможностью прокрутки. Затем можно использовать функцию Yuval для загрузки новых данных.

0
ответ дан 4 December 2019 в 01:58
поделиться

Ick. Не большой поклонник бесконечной прокрутки; это повреждается, некоторые ключевые люди предположений делают о том, как сеть работает. Обещайте, что Вы только реализуете его при следующих условиях:

1) Вы не заменяете им совершенно хорошую страницу, которая загружает все в хорошей длинной таблице и позволяет пользователю использовать Ctrl-F для поиска в странице то, во сколько Край продвигается.

2) Вы не планируете вставку рекламы у основания каждого блока прокрученных данных.

3) Вы обеспечиваете рабочую нейтрализацию (эй, существует то, что хорошая длинная таблица снова) для слепых людей и людей, просматривающих веб-сайты с отключенным JavaScript.

0
ответ дан 4 December 2019 в 01:58
поделиться

Вы можете увидеть, что он работает здесь Только для YUI. В отличие от одного из предложенных выше решений, полоса прокрутки движется непрерывно, ее положение и размер отражают истинный размер и положение видимой области, и она не загружает следующий пакет, когда полоса прокрутки достигает дна. Полоса прокрутки достигает дна только тогда, когда последняя из всех записей находится внизу области просмотра. Конечно, это работает только в том случае, если вы знаете, сколько там записей.

1
ответ дан 4 December 2019 в 01:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: