jQuery(document).ready(function ($) {
'use strict';
// Search
$('a[href="#search"]').on('click', function(event) {
event.preventDefault();
$('#search').addClass('open');
$('#search > form > input[type="search"]').focus();
});
$('#search, #search button.close').on('click keyup', function(event) {
if (event.target == this || event.target.className == 'close' || event.keyCode == 27) {
$(this).removeClass('open');
}
});
$('form').submit(function(event) {
event.preventDefault();
return false;
});
// --- Menu Initialisierung ---
var $menu = $('nav#mobile-menu').mmenu({
extensions: ['effect-slide-menu', 'pageshadow'],
searchfield: false,
counters: true,
navbar: { title: '' },
navbars: [
{
position: 'top',
content: [
'',
''
]
},
{
position: 'top',
content: ['prev', 'close']
},
{
position: 'bottom',
content: [
''
]
}
]
});
// --- Fix: Revolution Slider neu rendern, wenn Mobile Menu geschlossen wird ---
$menu.on('init', function() {
var mmApi = $menu.data('mmenu');
mmApi.bind('close:finish', function() {
setTimeout(function() {
// Alle bekannten Revolution Slider Instanzen neu zeichnen
window.revapi1?.revredraw?.();
window.revapi2?.revredraw?.();
window.revapi3?.revredraw?.();
console.log('✅ Revolution Slider wurde nach Menü-Schließen neu aufgebaut');
}, 400);
});
});
// Owl-Carousel
$('.testimonials-carousel').owlCarousel({
loop:true,
margin:30,
responsiveClass:true,
responsive:{
0:{
items:1,
nav:false
},
600:{
items:1,
nav:false
},
1000:{
items:2,
nav:false,
loop:false
}
}
});
$('.talking-carousel').owlCarousel({
loop:true,
margin:30,
dots: false,
responsiveClass:true,
responsive:{
0:{
items:2,
nav:false
},
600:{
items:1,
nav:false
},
1000:{
items:1,
nav:false,
loop:false
}
}
})
// SLIP HOVER CLIENTS
$(".our-clients").sliphover({
backgroundColor: 'rgba(202,31,38,0.75)'
});
// lightSlider - Single product page
$('#imageGallery').lightSlider({
gallery:true,
item:1,
thumbItem:3,
slideMargin:0,
enableDrag: false,
currentPagerPosition:'left',
adaptiveHeight: true,
onSliderLoad: function(el) {
el.lightGallery({
selector: '#imageGallery .lslide'
});
}
});
// Ship different
$('.different-collapse').collapse();
$('input#ship-different-checkbox').on('change', function(){
var $this = $(this),
$btn = $( $this.closest('.customCollapse').data('href') );
if ($this.is(":checked") ) {
$btn
.addClass('in')
.css('height', 'auto');
} else {
$btn
.css('height', 'auto')
.removeClass('in');
}
});
});
// --- Sticky Header & Hash Scroll Fix (ES5 Compatible) ---
jQuery(function ($) {
var header = $('.site-header');
function updateHeaderState() {
if ($(window).scrollTop() > 80) {
header.addClass('scrolled');
} else {
header.removeClass('scrolled');
}
}
// Header reagiert auf Scrollen & Laden
$(window).on('scroll load', updateHeaderState);
// Sanftes Scrollen bei Ankerlinks (#kontakt, #preise etc.)
// Sanftes Scrollen bei Ankerlinks, aber NICHT bei Accordion-FRAGEN
$('a[href^="#"]').on('click', function (e) {
var href = $(this).attr('href');
// Accordion / FAQ-Links überspringen
if ($(this).closest('.accordion').length) return;
var target = $(href);
if (target.length) {
e.preventDefault();
$('html, body').animate({
scrollTop: target.offset().top - 80
}, 600);
}
});
// Nach „Zurück“-Navigation Header-Zustand korrigieren
$(window).on('pageshow', updateHeaderState);
});
// Verhindert Scrollsprung bei FAQ-Akkordeon
var faqLinks = document.querySelectorAll('.accordion a[data-toggle="collapse"]');
for (var i = 0; i < faqLinks.length; i++) {
faqLinks[i].addEventListener('click', function(e) {
e.preventDefault(); // Verhindert den Scrollsprung
var target = document.querySelector(this.getAttribute('href'));
if (target) {
$(target).collapse('toggle');
}
});
}
// --- Fix: Footer-Links nach Menü-Schließen wieder klickbar machen ---
jQuery(function ($) {
var mmApi = $('nav#mobile-menu').data('mmenu');
if (mmApi) {
mmApi.bind('close:finish', function () {
setTimeout(function () {
// mmenu Overlay und Blocker wirklich entfernen
$('.mm-wrapper__blocker').hide();
$('html').removeClass('mm-blocking mm-opened');
$('.mm-page').css({ position: 'static', zIndex: 'auto' });
console.log('✅ Footer-Links wieder aktiv nach Menü schließen');
}, 300);
});
}
});
// --- Fix: Parallax-Position neu berechnen, wenn ein FAQ-Accordion geöffnet oder geschlossen wird ---
$('.accordion').on('shown.bs.collapse hidden.bs.collapse', function () {
if ($('.parallax-window').length && typeof $.fn.parallax !== 'undefined') {
setTimeout(function() {
$('.parallax-window').parallax('refresh');
console.log('✅ Parallax-Hintergrund neu berechnet nach Accordion-Aktion');
}, 300);
}
});