document.addEventListener('DOMContentLoaded', function () {
const sections = document.querySelectorAll('.scroll-bereich');
function moveImages() {
sections.forEach(function (section) {
const image = section.querySelector('.scroll-bild');
if (!image) {
return;
}
const sectionRect = section.getBoundingClientRect();
const sectionHeight = section.offsetHeight;
const imageHeight = image.offsetHeight;
const viewportHeight = window.innerHeight;
const maxMove = Math.max(0, sectionHeight - imageHeight);
/*
* Start:
* Section erreicht den oberen Bildschirmrand
*
* Ende:
* Section erreicht mit ihrem unteren Ende
* den unteren Bildschirmrand
*/
const scrollDistance = Math.max(
1,
sectionHeight - viewportHeight
);
let progress = -sectionRect.top / scrollDistance;
progress = Math.max(0, Math.min(1, progress));
const move = maxMove * progress;
image.style.transform =
'translate3d(0, ' + move + 'px, 0)';
});
}
window.addEventListener('scroll', moveImages, {
passive: true
});
window.addEventListener('resize', moveImages);
moveImages();
});