Я хотел бы написать скрипт для CSS (или JS/ jQuery, если кто-то может мне в этом помочь) для следующей ситуации: у меня есть веб-сайт, на котором есть страница архива верхнего уровня (оглавление) со ссылками на отдельные страницы архива, а сами страницы архива находятся в папке ниже. это на сервере. На отдельных страницах архива я хотел бы иметь возможность загружать скрипт (в настоящее время я использую iframe для загрузки второй страницы навигации в текстовую страницу) с панелью навигации для архивов в нем, которая состоит из prev, TOC , и изображения кнопок «Далее». Вот где это немного сложнее: я хочу, чтобы при нумерации страниц обновлялись кнопки «Предыдущая/Следующая» в зависимости от текущего имени файла страницы (оно заканчивается числом, например (имя файла) 1001-1014, но затем переходит ко второму набору числа в конце текущей «главы», например (имя файла) 2001-2022 и т. д.), чтобы он всегда отправлял пользователя к файлу предыдущий/следующий в строке, и чтобы при достижении пользователем начала набора кнопка "предыдущий" исчезала, а при достижении конца всех наборов исчезала кнопка "следующий".
В идеале кодирование должно было бы определять, сколько страниц находится в самой папке архива (и сколько их было в наборе (имя файла) 1001, сколько в наборе (имя файла) 2001 и т. д.), и соответственно разбивать на страницы, но это также было бы неплохо обновить минимальное/максимальное количество страниц где-нибудь вручную, если это невозможно.
Итак... Можно ли сделать это с помощью CSS? Если нет, может ли кто-нибудь помочь мне с javascript (при условии, что это вообще возможно)? Я просмотрел ответы на этом сайте и нашел это (https://github.com/gbirke/jquery_pagination), но боюсь, что для меня это может быть на иностранном языке. Я так и думаю.
У меня есть друг, более разбирающийся в CSS/JS, который помог мне со следующим кодом, но, похоже, он не работает должным образом, если вы не перейдете напрямую. от ToC до страницы 1001 и оттуда вверх. Он говорит, что мой план невозможен без знания JS, по крайней мере, а, возможно, и вообще, из-за некоторых ограничений, связанных с невозможностью нумерации страниц в папке архива. (Содержание архива находится в той же самой верхней папке, что и страница index.html.)
script:
Код: Выделить всё
let maxpages = 1014;
if (sessionStorage.getItem("archivenum") < 1001)
{
sessionStorage.setItem("archivenum", 1001);
}
function navUp() {
window.open('../CC weblog.html', '_parent');
}
function navPrev() {
let archivenext = sessionStorage.getItem("archivenum");
if (archivenext > 1001) {
archivenext--;
butVis();
sessionStorage.setItem("archivenum", archivenext);
}
var prevfile = "../CC logs/CC log " + archivenext + ".html";
window.open(prevfile, "_parent");
}
function navNext() {
let archivenext = sessionStorage.getItem("archivenum");
if (archivenext < maxpages) {
archivenext++;
butVis();
sessionStorage.setItem("archivenum", archivenext);
}
var nextfile = "../CC logs/CC log " + archivenext + ".html";
window.open(nextfile, "_parent");
}
function butVis() {
let archivenext = sessionStorage.getItem("archivenum");
if (archivenext == 1001) {
butPrev.setAttribute('style', 'Visibility: hidden');
}
else {
butPrev.setAttribute('style', 'Visibility: visible');
}
if (archivenext == maxpages) {
butNext.setAttribute('style', 'Visibility: hidden');
}
else {
butNext.setAttribute('style', 'Visibility: visible');
}
}
window.onload = function() {
butVis();
}
Код: Выделить всё
document.addEventListener('DOMContentLoaded', ()=>{
let nBody = document.querySelector('body')
let nIframe = document.createElement('iframe');
nIframe.setAttribute('id', "show-iframe");
nIframe.style.display = 'none';
nIframe.style.position = 'absolute';
nBody.appendChild(nIframe);
});
Код: Выделить всё
[img]../CC images/buts/but-back.png[/img]
[img]../CC images/buts/but-up.png[/img]
[img]../CC images/buts/but-for.png[/img]
Подробнее здесь: https://stackoverflow.com/questions/792 ... d-from-a-s
Мобильная версия