https://www.raiffeisen.hu/o/raiffeisen-theme/js/components/Slider.js?minifierType=js&t=1790242628779
1/*1786086148000*/ 2"use scrict"; 3 4//raiffeisen slider 5let raiffeisenSlider = (() => { 6 const app = (config) => { 7 const raiffeisenSlider = document.querySelector(`${config.id}`); 8 9 const interval = 5000; 10 const duration = 1000; 11 12 let clickPermission = true; 13 let play; 14 15 if (raiffeisenSlider) { 16 const sliderItems = raiffeisenSlider.querySelectorAll( 17 ".raiffeisen-slider-item" 18 ); 19 const dots = raiffeisenSlider.querySelectorAll(".dot"); 20 const next = raiffeisenSlider.querySelector(`.next-icon`); 21 const prev = raiffeisenSlider.querySelector(`.prev-icon`); 22 const length = sliderItems.length > 1; 23 24 const playSlide = (milliseconds) => { 25 play = setInterval(() => (length ? nextElement() : null), milliseconds); 26 }; 27 28 const pauseSlide = () => { 29 clearInterval(play); 30 }; 31 32 const navigation = (current, num, direction) => { 33 if (clickPermission) { 34 clickPermission = false; 35 36 sliderItems.forEach((element) => { 37 element.setAttribute("aria-hidden", true); 38 }); 39 40 const currentId = 41 direction == 3 42 ? num 43 : parseFloat(current.getAttribute("data-id")) + num; 44 45 const setCurrent = (id) => { 46 sliderItems[id].classList.add("active"); 47 sliderItems[id].style.transition = `opacity ${duration}ms ease-out`; 48 sliderItems[id].setAttribute("aria-hidden", false); 49 50 setTimeout(() => { 51 current.classList.remove("current"); 52 sliderItems[id].style.transition = ""; 53 sliderItems[id].classList.remove("active"); 54 sliderItems[id].classList.add("current"); 55 }, duration + 50); 56 }; 57 58 if (direction == 1) { 59 if (currentId <= sliderItems.length - 1) { 60 setCurrent(currentId); 61 setDotsCurrent(currentId); 62 } else { 63 setCurrent(0); 64 setDotsCurrent(0); 65 } 66 } else if (direction == 2) { 67 if (currentId > -1) { 68 setCurrent(currentId); 69 setDotsCurrent(currentId); 70 } else { 71 setCurrent(sliderItems.length - 1); 72 setDotsCurrent(sliderItems.length - 1); 73 } 74 } else if (direction == 3) { 75 setCurrent(currentId); 76 setDotsCurrent(currentId); 77 } 78 79 setTimeout(() => { 80 clickPermission = true; 81 }, duration + 50); 82 } 83 }; 84 85 const setDotsCurrent = (id) => { 86 dotsRemove(); 87 dots[id].classList.add("current"); 88 }; 89 90 const dotsRemove = () => { 91 dots.forEach((element) => { 92 element.classList.remove("current"); 93 }); 94 }; 95 96 playSlide(interval); 97 98 const nextElement = () => { 99 const currentSliderItem = raiffeisenSlider.querySelector( 100 ".raiffeisen-slider-item.current" 101 ); 102 navigation(currentSliderItem, 1, 1); 103 pauseSlide(); 104 playSlide(interval + duration); 105 }; 106 107 const prevElement = () => { 108 const currentSliderItem = raiffeisenSlider.querySelector( 109 ".raiffeisen-slider-item.current" 110 ); 111 navigation(currentSliderItem, -1, 2); 112 pauseSlide(); 113 playSlide(interval + duration); 114 }; 115 116 const dotsNavigation = (el) => { 117 el.addEventListener("click", function (event) { 118 const currentSliderItem = raiffeisenSlider.querySelector( 119 ".raiffeisen-slider-item.current" 120 ); 121 navigation( 122 currentSliderItem, 123 parseFloat(event.currentTarget.getAttribute("data-id")), 124 3 125 ); 126 pauseSlide(); 127 playSlide(interval + duration); 128 }); 129 }; 130 131 length ? next.addEventListener("click", () => nextElement()) : null; 132 length ? prev.addEventListener("click", () => prevElement()) : null;
133 length ? dots.forEach((element) => dotsNavigation(element)) : null; 134 } 135 }; 136 return { 137 app: app, 138 }; 139})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.