Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Пагинация страниц (https://javascript.ru/forum/events/84834-paginaciya-stranic.html)

voraa 24.01.2023 10:51

Цитата:

Сообщение от ureech
то ли изначально считать символы в строке то ли...?

Нет понятия - строка, если она не оформлена в качестве отдельного элемента.

ureech 24.01.2023 12:13

Я не в ту сторону думал).
Цитата:

Сообщение от voraa
Нет понятия - строка, если она не оформлена в качестве отдельного элемента.

Оформлена.
var result = [];
var page = document.querySelector('#' + id)
var contentBox = $(page).find('.page');
var str = contentBox ? contentBox[0].innerHTML : '' // Object { 0: p, 1: p, 2: p, 3: p, 4: p, 5: p, 6: p, 7: p, 8: p, 9: p, … }
str = $(str).filter("p");
var countP = $(str).filter("p").length
        for (let i = 0; i < countP; i++){
            result.push(?????);
        }


в каждой str[i].innerHTML один <p>text</p> Теперь надо перебрать объект, что бы в каждой str[i].innerHTML стало по заданному количеству <p>...</p> И тогда можно будет повесить их на соответственную кнопку. Я так думаю)

voraa 24.01.2023 12:31

Чет я не понял ничего.
Без верстки (html) понять трудно.
var str = contentBox ? contentBox[0].innerHTML : '' - это будет какая то строка, а не объект

ЗЫ Зачем jquery мешать с ванилой. Трудно разбирать, что jquery элемент, а что обычный элемент dom

ureech 24.01.2023 12:31

Не могу догнать как цикл написать. Например для одной итерации
var text = []
        for (let i = 0; i < countP; i++) {
            if (i < 5) {
                text[i] = str[i].innerHTML
                result[i].push(text[i]);
            }
        }

А как для всего массива сделать?

ureech 24.01.2023 12:33

Вёрстку не могу написать). там всё динамически. Много получится.
Цитата:

Сообщение от voraa
var str = contentBox ? contentBox[0].innerHTML : '' - это будет какая то строка, а не объект

Объект. Я же указал в комменте

ureech 24.01.2023 12:36

В браузере можно тут глянуть.
http://spbfbsa/filereader/index/3685...ad580110#item1
Только надо в какой то главе смотреть

voraa 24.01.2023 12:48

Цитата:

Сообщение от ureech (Сообщение 550250)
Вёрстку не могу написать). там всё динамически. Много получится.
Объект. Я же указал в комменте

Как это может быть объектом, когда innerHTML - это строка?

var page = document.querySelector('#' + id)
var contentBox = $(page).find('.page');
var str = contentBox ? contentBox[0].innerHTML : '' // Object { 0: p, 1: p, 2: p, 3: p, 4: p, 5: p, 6: p, 7: p, 8: p, 9: p, … }
str = $(str).filter("p");

Вот словами объясните этот кусок. Что у вас вычисляет каждая строка
Что в str после третьей строки?

ureech 24.01.2023 12:52

Блин, я запутался. Да str. это строка

voraa 24.01.2023 12:59

Сделать на каждой странице одинаковое количество параграфов простое дело. Но какой смысл, если все параграфы разной высоты? И как вычислить, какое именно количество параграфов должно быть на странице. Почему 5, а не 8?

ureech 24.01.2023 13:02

Нет не одинаковое. Я посчитаю сколько параграфов помещается в окно и столько и буду выводить. Да, там не целые числа, но это уже другой вопрос)


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