Je tente de faire une pagination pour l'affichage des topics, mais je galère pour quelques détails
je récupère des données grâce à une requête fetch
j'ai créé une fonction de pagination et une fonction d'affichage des articles
Alors jusque là j'ai réussi à créer les boutons pour les pages
j'ai également réussi à limiter le nombre d'article dans les pages,
le principe de la pagination fonctionne en gros
MAIS je n'arrive pas à changer de page, c'est à dire à faire apparaître les articles qui se trouvent aux pages suivantes
comment rappeler la fonction qui a permis l'affichage de la page 1? sans préciser les donées
le code
dataPost = fetch('http://wicote/requetes/projets?localisation='+ geo)
.then(resultat => resultat.json())
.then(json => json)
//un peu de code avant de contrôle sans importance
pagination(dataPost);
la fonction pagination étant
function pagination(data){
//code de pagination
//on détermine le nombre d'item à afficher
const itemPerPage = 1;
//on détermine le nombre de page
let page=Math.ceil(data.length/itemPerPage);
//on crée les numéros de pages dans la section prévu
sectionPage= document.getElementById('pages');
p=1;
while (p<=page){
sectionPage.insertAdjacentHTML('beforeend', '<button value='+p+' id='+p+' class= "page" onClick="getTopic(this.value)">'+p+'</button>');
p++;
document.getElementById('1').classList.add('pageActive');
}
function getTopic(page){
// currentPage = document.getElementsByClassName('pageActive')[0].value;
currentPage= page;
for(var n = currentPage*itemPerPage-itemPerPage; n<currentPage*itemPerPage; n++){
printArticle(data[n]);
}
}
getTopic(1);
}
et la fonction printArticle
// un peu long donc j'explique
// crée des élément des nœuds etc...
Le titre est un élément important qui ne doit pas être négligé. N'oubliez pas cette règle simple : le titre idéal résume la question que vous allez poser en une petite phrase. Il doit permettre aux visiteurs de se repérer facilement dans le forum visité et d'identifier le sujet à sa seule lecture.
Vous pouvez utiliser divers préfixes comme [Erreur], [MySQL], [Compatibilité], etc... Aussi, pensez à consulter les règles propres à chaque forum (visibles dans les topics épinglés en haut des sections).
De plus, choisir un bon titre permet de rendre plus faciles les recherches des autres membres.
Les titres de type "besoin d'aide" ou "problème" ne sont pas tolérés.
Pour modifier votre titre, éditez le premier message de votre sujet.
(titre originel : [js vanilla] Je galère vraiment pour ce code)
Pas d'aide concernant le code par MP, le forum est là pour ça :)
[js vanilla] code de pagination
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Pas d'aide concernant le code par MP, le forum est là pour ça :)