50 lines
1.5 KiB
JavaScript
50 lines
1.5 KiB
JavaScript
document.addEventListener('DOMContentLoaded', function() {
|
|
|
|
const heroSlider = document.querySelector('.hero-slider');
|
|
if (!heroSlider) return;
|
|
|
|
// BUG-FIX: sliderSettings wird via wp_localize_script gesetzt. Fehlt es
|
|
// (z.B. wegen Caching oder falschem Enqueue), würde ein ReferenceError
|
|
// den gesamten Slider-Init abschießen.
|
|
if (typeof sliderSettings === 'undefined') {
|
|
console.warn('Minecraft Modern Theme: sliderSettings nicht gefunden. Slider wird nicht initialisiert.');
|
|
heroSlider.classList.add('swiper-initialized'); // Opacity-Fix trotzdem aufheben
|
|
return;
|
|
}
|
|
|
|
const swiperConfig = {
|
|
effect: 'fade',
|
|
fadeEffect: {
|
|
crossFade: true
|
|
},
|
|
|
|
loop: sliderSettings.loop === '1',
|
|
|
|
autoplay: {
|
|
delay: 5000,
|
|
disableOnInteraction: false,
|
|
},
|
|
|
|
pauseOnMouseEnter: true,
|
|
|
|
navigation: sliderSettings.hideArrows !== '1' ? {
|
|
nextEl: '.swiper-button-next',
|
|
prevEl: '.swiper-button-prev',
|
|
} : false,
|
|
|
|
pagination: sliderSettings.hidePagination !== '1' ? {
|
|
el: '.swiper-pagination',
|
|
clickable: true,
|
|
} : false,
|
|
|
|
on: {
|
|
init: function () {
|
|
setTimeout(function() {
|
|
heroSlider.classList.add('swiper-initialized');
|
|
}, 50);
|
|
},
|
|
},
|
|
};
|
|
|
|
new Swiper('.hero-slider', swiperConfig);
|
|
}); |