Une question? Besoin d’une information supplémentaire?
Merci de remplir le formulaire.
document.addEventListener("DOMContentLoaded", function() {
let page = 2; // Commencez à charger les articles à partir de la deuxième page
let loading = false;
window.addEventListener("scroll", function() {
// Vérifiez si l'utilisateur a atteint le bas de la page
if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight - 200 && !loading) {
loading = true;
// Affiche un indicateur de chargement (optionnel)
const spinner = document.createElement('div');
spinner.id = "infinite-scroll-spinner";
spinner.innerHTML = "Chargement...";
spinner.style.textAlign = "center";
document.body.appendChild(spinner);
// Charge plus d'articles
fetch(`?page=${page}`)
.then(response => response.text())
.then(data => {
const parser = new DOMParser();
const doc = parser.parseFromString(data, "text/html");
const newPosts = doc.querySelectorAll(".blog-item"); // Remplacez ".blog-item" par la classe CSS des articles
newPosts.forEach(post => {
document.querySelector(".blog-list").appendChild(post); // Remplacez ".blog-list" par le conteneur principal des articles
});
page++;
loading = false;
// Supprimez l'indicateur de chargement après ajout
document.getElementById("infinite-scroll-spinner").remove();
})
.catch(error => {
console.error("Erreur lors du chargement des articles :", error);
});
}
});
});