Fotogalerie mit CSS Columns Masonry - alle 12 Bilder eingebaut

This commit is contained in:
2026-05-10 01:47:00 +02:00
commit 5d1a048624
27 changed files with 998 additions and 0 deletions

70
js/haus-schleusingen.js Normal file
View File

@@ -0,0 +1,70 @@
$(function() {
// Navbar scroll
$(window).on('scroll', function() {
if ($(this).scrollTop() > 60) $('#navbar').addClass('scrolled');
else $('#navbar').removeClass('scrolled');
});
// Hero animation on load
setTimeout(function() {
$('#heroContent').addClass('visible');
$('#heroBg').addClass('loaded');
}, 200);
// Scroll animations
function checkVisible() {
$('.fact, [data-animate]').each(function() {
var el = $(this);
var top = el.offset().top;
var windowBottom = $(window).scrollTop() + $(window).height();
if (windowBottom > top + 60) {
el.addClass('visible');
el.css({opacity: 1, transform: 'translateY(0)'});
}
});
}
$('[data-animate]').css({opacity: 0, transform: 'translateY(30px)', transition: 'opacity 0.8s ease, transform 0.8s ease'});
$(window).on('scroll', checkVisible);
checkVisible();
// Floor accordion
$('.floor-header').on('click', function() {
var item = $(this).closest('.floor-item');
var isOpen = item.hasClass('open');
$('.floor-item').removeClass('open');
$('.floor-body').slideUp(300);
if (!isOpen) {
item.addClass('open');
item.find('.floor-body').slideDown(300);
}
});
// Lightbox gallery grid items
$(document).on('click', '.grid-item', function() {
var src = $(this).data('img') || $(this).find('img').attr('src');
$('#lightboxImg').attr('src', src);
$('#lightbox').addClass('open');
$('body').css('overflow', 'hidden');
});
$('#lightboxClose, #lightbox').on('click', function(e) {
if (e.target === this) {
$('#lightbox').removeClass('open');
$('body').css('overflow', '');
}
});
$(document).on('keydown', function(e) {
if (e.key === 'Escape') { $('#lightbox').removeClass('open'); $('body').css('overflow', ''); }
});
// Form submit
$('#contactForm').on('submit', function(e) {
e.preventDefault();
var btn = $(this).find('.btn-submit');
btn.text('Wird gesendet...').prop('disabled', true);
setTimeout(function() {
$('#contactForm').hide();
$('#formSuccess').fadeIn(400);
}, 1200);
});
});