Цитата:
Если сделать так, то и этот скрипт справится. |
К сожалению вариант voraa, мне не подходит. У меня другая логика. На данный момент стоит такой вопрос. В моём тексте, например 40 отрезков <p>...</p>. При подсчёте среднего числа кнопок для этого текста получаю, например 4 кнопки. Подсчёт вёлся с округлением в большую сторону. Все <p>...</p> разного размера, поэтому выводить по 10 не вариант. Нужно выводить те, что в видимой области окна. +- пару строк роли не играют. Можно будет прокрутить.
str = $(str).filter("p"); count= str.length // общее количество тегов <p>...</p> clientCount = Math.ceil($(window).height()/count);// среднее количество в окне count_button = Math.ceil($(document).height()/count)/clientCount; // количество кнопок /** перебираю теги **/ for (var i = 0; i < str.length; i++) { ??? } Как я рассуждаю. При переборе тегов мне нужно получить количество тегов в видимой области окна. То есть заполнять $(window).height() тегами. Предварительно получая количество строк в теге и вычисляя их ширину. Осталось изобразить всё это на "бумаге"). Как всё сделать по отдельности ещё представляю, но вот в кучу собрать...) |
А ширина и высота области, в которой показывается страница фиксирована?
Напрашивается такое решение. Делаете div со стилями { width: 400px; /* подставить ширину своей области*/ position: absolute; visibility: hidden; } Запихиваете в него свой текст в innerHTML Потом пробегаетесь по параграфам в этом div и берете их offsetTop и offsetTop+offsetHeigth. Это уже поможет вычислить какие параграфы к какой странице относятся. Далее просто в свою основную область выводите нужные параграфы. |
На данный момент размеры не фиксированные. Изначально не хотелось возиться с размерами). Придётся под устройства подгонять и тп.Но если не выкручусь видимо придётся к этому вернуться.
|
Цитата:
|
Чего то попробовал сделать (самому интересно стало, вдруг пригодится когда)
Файл большой, код сюда не вмещается Даю ссылку на Гугл диск Основная идея - Делаем невидимое окно, размерами такое же, как область просмотра. В него загружаем текст. И в нем по размерам считаем, какие параграфы помещаются на страницу. При ресайзе количество страниц может измениться. Я сделал, что после ресайза мы пересчитываем количество страниц, и переходим на ту страницу, что бы был виден параграф, который был первым на видимой странице до ресайза. Что смог прокомментарил, что бы понятнее было |
voraa,
:thanks: |
voraa,
Вот только вернулся к данной теме. Изменился приоритет задач. Перекинули на другое. Сейчас буду что то пробовать. Отпишусь, в любом случае |
voraa,
просмотрел ваш пример. Как я понял вы водите блоки по тегу <p>. А если в теге всего одно предложение)? У меня такая ситуация. Я разделил текст по тегам, но в теге разное количество текста. И в одном clientHeight 5.8 тегов помещается, а в другом 8.2). К тому же с переносами строк тоже не ахти как. Вот не знаю как это решить лучше. То ли блоки из тегов составлять, то ли изначально считать символы в строке то ли...? |
Цитата:
Цитата:
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 04:30. |