index-main/assets/js/swipers.js
isUnknown 59c5396184
All checks were successful
Deploy / Deploy to Production (push) Successful in 13s
fix: figcaption dans figure, loop swiper, max-height images investigation
- investigation.php : figcaption déplacé à l'intérieur des <figure>
  (correction HTML + meilleure capture par la lightbox)
- swipers.js : loop: true sur toutes les galeries
- _investigation_content.scss : max-height 75vh sur les images
- _figures.scss : reformatage indentation

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-27 16:03:35 +01:00

55 lines
1.3 KiB
JavaScript

import Swiper from 'https://cdn.jsdelivr.net/npm/swiper@12/swiper-bundle.min.mjs';
export function initSwipers(container = document) {
const sliders = container.querySelectorAll('.swiper');
if (sliders.length === 0) {
return;
}
sliders.forEach((sliderElement) => {
// Éviter de réinitialiser un swiper déjà initialisé
if (sliderElement.swiper) {
return;
}
const swiper = new Swiper(sliderElement, {
// Optional parameters
slidesPerView: 1,
spaceBetween: 20,
speed: 600,
loop: true,
// Touch/Swipe settings
touchRatio: 1,
touchAngle: 45,
grabCursor: true,
simulateTouch: true,
allowTouchMove: true,
// Navigation arrows
navigation: {
nextEl: sliderElement.querySelector('.swiper-button-next'),
prevEl: sliderElement.querySelector('.swiper-button-prev'),
},
// Pagination
pagination: {
el: sliderElement.querySelector('.swiper-pagination'),
clickable: true,
},
// Keyboard control
keyboard: {
enabled: true,
},
// Accessibility
a11y: {
prevSlideMessage: 'Investigation précédente',
nextSlideMessage: 'Investigation suivante',
paginationBulletMessage: 'Aller à l\'investigation {{index}}',
},
});
});
}