Source

comprendreChgt.js

/**
 * Gère l'ouverture et la fermeture des sections de l'accordéon
 * @constant content {HTMLElement} - L'élément de contenu de l'accordéon
 * @constant isOpen {boolean} - Indique si le contenu est déjà ouvert
 * @description Ajoute un événement de clic sur chaque en-tête d'accordéon pour afficher ou masquer le contenu associé.
 * @returns {void}
 */
document.querySelectorAll('.accordion-header').forEach(header => {
    header.addEventListener('click', () => {
        const content = header.nextElementSibling;
        const isOpen = content.style.maxHeight;
        // Fermer tous
        document.querySelectorAll('.accordion-content').forEach(c => c.style.maxHeight = null);
        if (!isOpen) {
            content.style.maxHeight = content.scrollHeight + "px";
        }
    });
});

/**
 * Gère l'ouverture des liens dans de nouvelles fenêtres
 * @constant card {HTMLElement} - L'élément de la carte
 * @constant idx {number} - L'index de la carte
 * @description Ajoute un événement de clic sur chaque carte pour ouvrir un lien dans une nouvelle fenêtre.
 * @returns {void}
 */
document.querySelectorAll('#preuves .card').forEach((card, idx) => {
    const links = [
        'https://climate.nasa.gov/evidence/',
        'https://www.ipcc.ch/report/ar6/wg1/chapter/chapter-9/',
        'https://climate.nasa.gov/vital-signs/ice-sheets/'
    ];
    card.style.cursor = 'pointer';
    card.addEventListener('click', () => {
        window.open(links[idx], '_blank');
    });
});