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: [ ' ANRUFEN', ' NAVIGATION STARTEN' ] }, { position: 'top', content: ['prev', 'close'] }, { position: 'bottom', content: [ 'impressum' ] } ] }); // --- 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); } });