Fotogalerie mit CSS Columns Masonry - alle 12 Bilder eingebaut
This commit is contained in:
70
js/haus-schleusingen.js
Normal file
70
js/haus-schleusingen.js
Normal 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);
|
||||
});
|
||||
});
|
||||
|
||||
9
js/masonry.pkgd.min.js
vendored
Normal file
9
js/masonry.pkgd.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user