v1.5.2
This commit is contained in:
parent
7d26ffcee4
commit
25ea6cf6f6
19 changed files with 2270 additions and 467 deletions
|
|
@ -86,6 +86,15 @@ document.addEventListener('DOMContentLoaded', async () => {
|
|||
// wait for includes to be loaded so subsequent initialization can bind to elements inside them
|
||||
await loadIncludes();
|
||||
|
||||
// Déclenche les reveals maintenant que tous les includes sont dans le DOM
|
||||
setTimeout(() => {
|
||||
document.querySelectorAll('.reveal:not(.active)').forEach(el => {
|
||||
if (el.getBoundingClientRect().top < window.innerHeight - 50) {
|
||||
el.classList.add('active');
|
||||
}
|
||||
});
|
||||
}, 0);
|
||||
|
||||
const html = document.documentElement;
|
||||
|
||||
function getPreferredTheme() {
|
||||
|
|
@ -367,27 +376,27 @@ document.addEventListener('DOMContentLoaded', async () => {
|
|||
window.addEventListener('hashchange', wrappedSetActive);
|
||||
window.addEventListener('popstate', wrappedSetActive);
|
||||
|
||||
// Reveal on scroll
|
||||
const revealElements = document.querySelectorAll('.reveal');
|
||||
// Reveal on scroll — re-query après chargement des includes
|
||||
function revealOnScroll() {
|
||||
if (!revealElements.length) return;
|
||||
revealElements.forEach(el => {
|
||||
const elementTop = el.getBoundingClientRect().top;
|
||||
if (elementTop < window.innerHeight - 100) {
|
||||
const els = document.querySelectorAll('.reveal:not(.active)');
|
||||
els.forEach(el => {
|
||||
if (el.getBoundingClientRect().top < window.innerHeight - 50) {
|
||||
el.classList.add('active');
|
||||
}
|
||||
});
|
||||
}
|
||||
window.addEventListener('scroll', revealOnScroll);
|
||||
// Déclenche immédiatement après includes + au scroll + au load
|
||||
revealOnScroll();
|
||||
window.addEventListener('scroll', revealOnScroll, { passive: true });
|
||||
window.addEventListener('load', revealOnScroll);
|
||||
|
||||
// Contact form (if exists)
|
||||
const contactForm = document.getElementById('contact-form');
|
||||
if (contactForm) {
|
||||
contactForm.addEventListener('submit', function (e) {
|
||||
e.preventDefault();
|
||||
alert('Merci pour votre message ! Nous vous répondrons très bientôt.');
|
||||
this.reset();
|
||||
});
|
||||
}
|
||||
// Contact form (if exists) c'est en double
|
||||
// const contactForm = document.getElementById('contact-form');
|
||||
// if (contactForm) {
|
||||
// contactForm.addEventListener('submit', function (e) {
|
||||
// e.preventDefault();
|
||||
// alert('Merci pour votre message ! Nous vous répondrons très bientôt.');
|
||||
// this.reset();
|
||||
// });
|
||||
// }
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue