deroulement js pour new content

This commit is contained in:
ouidade 2024-07-18 12:58:32 +02:00
parent 3431807f04
commit 707811c43a
2 changed files with 34 additions and 9 deletions

File diff suppressed because one or more lines are too long

View File

@ -356,17 +356,42 @@
}
});
// for each .date element add or remove ::before
document.querySelectorAll('.date').forEach(function(dateElement) {
const date2Element = dateElement.querySelector('.date2');
const yearElement = dateElement.querySelector('.field_field_date_de_annee');
// Fonction pour ajouter ou retirer la classe .only
function updateDateClasses() {
document.querySelectorAll('.paragraph--type--phase-deroulement .date').forEach(function(dateElement) {
const date2Element = dateElement.querySelector('.date2');
const yearElement = dateElement.querySelector('.field_field_date_de_annee');
// Check if the .date2 element is empty
if (date2Element && !date2Element.textContent.trim()) {
// Add the .only class to the year element
if (date2Element && !date2Element.textContent.trim()) {
if (yearElement) {
yearElement.classList.add('only');
}
});
} else {
if (yearElement) {
yearElement.classList.remove('only');
}
}
});
}
// Exécuter la fonction une première fois pour le contenu déjà présent
updateDateClasses();
// MutationObserver pour surveiller les changements dans le DOM
const observer = new MutationObserver(function(mutationsList, observer) {
for(let mutation of mutationsList) {
if (mutation.type === 'childList') {
updateDateClasses();
}
}
});
// Configuration de l'observateur
const config = { childList: true, subtree: true };
// Démarrer l'observateur sur le document entier ou sur un conteneur spécifique
observer.observe(document.body, config);
// Handle window resize
window.addEventListener('resize', function() {