/**
* 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');
});
});
Source