41 lines
2 KiB
JavaScript
41 lines
2 KiB
JavaScript
import { c as SELECTEUR_CONTENEUR_STORYTELLING, d as SELECTEUR_IMAGES_STORYTELLING, e as ATTRIBUT_CACHE, f as ATTRIBUT_ARIA_HIDDEN } from "./dom.js";
|
|
import { e as estEntreDeuxNombres } from "./nombres.js";
|
|
import { a as recupereElementDansDocumentOuLeve, b as recupereElementsDansDocumentOuLeve } from "./utils.js";
|
|
import "./dom2.js";
|
|
import "./erreurs.js";
|
|
import "./exports.DtgtFHVi.js";
|
|
import "./pipe.XPB0wEfw.js";
|
|
import "./Either.wHNxn7Os.js";
|
|
const initialiseScrollStorytelling = () => {
|
|
const STORYTELLING = recupereElementDansDocumentOuLeve(SELECTEUR_CONTENEUR_STORYTELLING);
|
|
const CONTENEUR_STORYTELLING = recupereElementDansDocumentOuLeve(".storytelling__conteneur");
|
|
const IMAGES_STORYTELLING = recupereElementsDansDocumentOuLeve(SELECTEUR_IMAGES_STORYTELLING);
|
|
let hauteurImage = IMAGES_STORYTELLING.at(0)?.getBoundingClientRect().height ?? 0;
|
|
let positionDefilementConteneur = 0;
|
|
const changeVisibiliteImage = (image, visible) => {
|
|
image.toggleAttribute(ATTRIBUT_CACHE, visible);
|
|
image.toggleAttribute(ATTRIBUT_ARIA_HIDDEN, visible);
|
|
};
|
|
const majDimensions = () => {
|
|
hauteurImage = IMAGES_STORYTELLING.at(0)?.getBoundingClientRect().height ?? 0;
|
|
CONTENEUR_STORYTELLING.style.minHeight = `${String(hauteurImage * IMAGES_STORYTELLING.length + 61)}px`;
|
|
CONTENEUR_STORYTELLING.style.maxHeight = `${String(hauteurImage * IMAGES_STORYTELLING.length + 61)}px`;
|
|
};
|
|
const majImages = () => {
|
|
positionDefilementConteneur = STORYTELLING.scrollTop;
|
|
IMAGES_STORYTELLING.forEach((image, index) => {
|
|
const debutYImage = hauteurImage * index;
|
|
const finYImage = hauteurImage * (index + 1);
|
|
changeVisibiliteImage(image, !estEntreDeuxNombres(positionDefilementConteneur, debutYImage, finYImage));
|
|
});
|
|
};
|
|
new ResizeObserver(() => {
|
|
majDimensions();
|
|
majImages();
|
|
}).observe(STORYTELLING);
|
|
STORYTELLING.addEventListener("scroll", () => majImages());
|
|
};
|
|
document.addEventListener("DOMContentLoaded", () => {
|
|
initialiseScrollStorytelling();
|
|
});
|
|
//# sourceMappingURL=scripts-page-accueil.js.map
|