Как разбить длинный HTML код на страницы?

Проблема следующая…

Допустим, есть длинный текст. Его длина не известна, т.е. может быть различной, в зависимости от статьи.

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

Сломал голову над решением, но так и не пришел ни к чему. Есть много различных плагинов типа Columnizer, но необходимо сделать так, чтобы следующие колонки не отображались, а листались, как страницы.



Поможите, люди добрые. Может кто-нибудь уже сталкивался с подобным?
  • Вопрос задан
  • 6039 просмотров
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 3
@Otkrick
Загружаем весь документ в фоне, скрыв содержимое. В цикле делаем видимыми элементы документа с первого и до тех пор пока getOffset(CurElement)+Element.Height не будет ~= window.innerHeight и добавляем в конце панель навигации. При клике на «далее» удаляем/прячем елементы, которые отображались на прошлом шаге и по кругу.

пригодится
<meta name="viewport"
content="width: device-height; user-scalable: no; max-scale: 1; initial-scale: 1;">
<script> window.onload = function() { alert(window.innerHeight); } </script>

document.documentElement.clientWidth

function getOffset(elem) {
    if (elem.getBoundingClientRect) {
        // "правильный" вариант
        return getOffsetRect(elem)
    } else {
        // пусть работает хоть как-то
        return getOffsetSum(elem)
    }
}

Ответ написан
@Vampiro
Я бы добавлял по предложению в див и контролировал появление скролинга. Как только Оно появилость — последнее предложение убирал, и через аякс давал серверу информацию о том где закончил и сколько вместилось. Может еще чего придумаю, это первое что пришло в мозг.
Ответ написан
Комментировать
@MIsternik
Очень актуальный вопрос для меня, я нашел только
codecanyon.net/item/textify-columnize-and-paginate...
но столкнулся с тем что долго создаются страницы, хотя это не приводит к тормозам, но для меня кажется критичным и тоже ищу идеи для реализации чего то подобного.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы