Javascript-форум (https://javascript.ru/forum/)
-   Библиотеки/Тулкиты/Фреймворки (https://javascript.ru/forum/library-toolkit-framework/)
-   -   Полноэкранный букридер / Пагинация текста (https://javascript.ru/forum/library-toolkit-framework/35680-polnoehkrannyjj-bukrider-paginaciya-teksta.html)

coventgarden 18.02.2013 15:37

Полноэкранный букридер / Пагинация текста
 
Привет!
Задача сделать пагинацию длинного текста средствами js
Все плагины, что я нашел, жутко красивые, но с увеличением объема текста (200+ страниц) так же жутко тормозят.

Необходима самая простая и быстрая библиотека: разбивка на страницы с % высотой от высоты экрана и стрелки вперед / назад.

Спасибо!

coventgarden 18.02.2013 15:49

Я не против платных решений,
Но все пагинаторы типа http://1.s3.envato.com/files/44575421/fullscreen.html имеют примеры исключительно с парой-тройкой страниц.

DjDiablo 18.02.2013 23:39

Я думаю, разбор двухсот страниц текста в любом случае будет тяжёлой для клиента задачей. Мгновенного разбиения на страницы вы так и так не получите.

Deff 18.02.2013 23:45

Продвинутые сайты грузят страницы по мере скролла, страница чуть более высоты экрана, подгружаются по две очередные страницы, при перевале скролла за экран на первой стиранице из двойки

coventgarden 19.02.2013 04:43

Ну например такой концепт:
Считаем количество строк на страницу,
Создаем первые 3 страницы, прекращаем выполнение скрипта, остальное скрываем, при перелистывании второй - делаем тоже самое с еще одной пачкой строк, и так до конца.

В аяксе пока не вижу ничего продвинутого, зачем делать много запросов, если можно один?

Так как для личного сайта, может стоить поэкспериментировать.

Цитата:

Я думаю, разбор двухсот страниц текста в любом случае будет тяжёлой для клиента задачей. Мгновенного разбиения на страницы вы так и так не получите.
Ну ок. Но пагинации с вменяемым прелоадером я тоже не видел. Возникает вопрос, почему хром грузит и открывает мегабитные .док или .пдф, а все решения на js для простого текста вгоняют браузер в кому.

Через мульти-колумнс, кстати, никак нельзя?

Deff 19.02.2013 05:11

Цитата:

Сообщение от coventgarden
В аяксе пока не вижу ничего продвинутого, зачем делать много запросов, если можно один?

Есть lLocalStorage, по мере скролла грузи и грузи новые страницы, коли не скроллит, то и не грузим - нафег 100, если будет просмотрено 2 ?
И с другой стороны - просмотрели 100, - если нужно подгрузить старое - взяли из Кеша, с третьей стороны - на каждой странице проставляем - время жизни - если истекло - подгружаем заново... минимальная нагрузка и на сервер и на клиента... Вопрос ток один - объём этой сотни страниц

danik.js 19.02.2013 08:54

Цитата:

Сообщение от coventgarden
почему хром грузит и открывает мегабитные .док или .пдф, а все решения на js для простого текста вгоняют браузер в кому

Ну ты еще пожалуйся что до сих пор не сделали нормальной игры на js типа Crysis )) Или аналог Photoshop на javascript ))))

Цитата:

Сообщение от coventgarden
но с увеличением объема текста (200+ страниц) так же жутко тормозят

Скорее всего потому-что все страницы одновременно присутствуют в DOM-модели. Загляни в DOM-инспектор (F12 или Ctr+Shift+I)

DjDiablo 19.02.2013 17:14

Цитата:

Через мульти-колумнс, кстати, никак нельзя?
согласен, интересно. Это могло бы дать хорошую скорость

Pavel M. 19.02.2013 17:58

разбиение на колонки не везде пока работает http://caniuse.com/#search=column-count

Deff 20.02.2013 11:36

Дзен-трансгуманист, -Симпатично,

Думаю удобнее втыкивать следующую станицу в div , скрытый z-index(ом) и заполнять страницу текстом до достижения нужной высоты, для контроля нужной высоты использовать отслеживание «onresize» на элементе http://habrahabr.ru/post/166321/


Часовой пояс GMT +3, время: 03:39.