Imposition 2-up
Révision datée du 20 décembre 2022 à 20:55 par Svilayphiou (discussion | contributions)
À utiliser dans une mise en page type paged.js. Attention, pour octomode, prendre l'URL de l'iframe où se trouve réellement les pages! Copier/coller le tout dans la Console de l'Inspecteur d'élément.
cahier = 16
// on met le div pagedjs_page en "display:flex" pour pouvoir changer l'ordre des pages
container = document.getElementsByClassName("pagedjs_pages")[0];
container.style.display = "flex";
// on enlève la marge de gauche de la première page
firstpage = document.getElementsByClassName("pagedjs_first_page")[0];
firstpage.style.marginLeft = 0;
// on récupère les pages du document dans un Array
pages = [].slice.call(document.getElementsByClassName("pagedjs_page"));
// on enregiste le nombre de pages total dans une variable
nb_pages = pages.length;
// on crée un Array vide qui accueillera les pages dans le nouvel ordre d'imposition
new_pages = []
// on enregistre dans un nouvel Array à chaque fois la dernière et première page, puis la première et dernière page, et on les enlève de la liste initiale de pages.
for(p = 0; p < nb_pages; p++){
if(p%2) {
new_pages.push(pages[0]);
pages.shift();
new_pages.push(pages[pages.length - 1]);
pages.pop();
} else {
new_pages.push(pages[pages.length - 1]);
pages.pop();
new_pages.push(pages[0]);
pages.shift();
}
}
// On applique en CSS l'ordre des pages de la nouvelle liste de pages
for (p=0; p < new_pages.length; p++) {
new_pages[p].style.order = p;
}