1 2const switchBgImg = (el, imgs, interval = 2000, delay = 0) => { 3 let index = 0; 4 setTimeout(() => { 5 setInterval(() => { 6 el.style.backgroundImage = `url('${imgs[index]}')`; 7 index = (index + 1) % imgs.length; 8 }, interval); 9 }, delay); 10} 11 12const switchBgFade = (el, imgs, interval = 2000, transition = 200) => { 13 let index = 0; 14 setInterval(() => { 15 el.style.opacity = 0; 16 17 setTimeout(() => { 18 index = (index + 1) % imgs.length; 19 el.style.backgroundImage = `url('${imgs[index]}')`; 20 el.style.opacity = 1; 21 }, transition); 22 }, interval); 23} 24 25const cloneContent = (tags, tagsContent) => { 26 const clone = tagsContent.cloneNode(true); 27 tags.appendChild(clone); 28 29 let tagsWidth = tags.offsetWidth; 30 let tagsContentWidth = tagsContent.offsetWidth; 31 32 while (tagsContentWidth < tagsWidth * 2) { 33 const clone = tagsContent.cloneNode(true); 34 tags.appendChild(clone); 35 tagsContentWidth += clone.offsetWidth; 36 } 37} 38 39const displaySponsorsMove = (n) => { 40 let containerInner = document.querySelector('.section-display-sponsors .sponsors-list'); 41 let maxScrollLeft = containerInner.scrollWidth - containerInner.clientWidth; 42 let scrollDir = n > 0 ? '+' : '-'; 43 let scrollNum = $('.section-display-sponsors .sponsors-list').outerWidth(); 44 let scrollCurrent = $('.section-display-sponsors .sponsors-list').scrollLeft(); 45 46 if (n > 0 && scrollCurrent === maxScrollLeft) { 47 scrollDir = '-'; 48 scrollNum = maxScrollLeft; 49 } 50 51 if (n < 0 && scrollCurrent === 0) { 52 scrollDir = '+'; 53 scrollNum = maxScrollLeft; 54 } 55 56 $('.section-display-sponsors .sponsors-list').stop().animate({ 57 scrollLeft: `${scrollDir}=${scrollNum}px` 58 }); 59} 60 61const displayPrevSponsorsMove = (n) => { 62 let containerInner = document.querySelector('.section-prev-sponsors .sponsors-list'); 63 let maxScrollLeft = containerInner.scrollWidth - containerInner.clientWidth; 64 let scrollDir = n > 0 ? '+' : '-'; 65 let scrollNum = $('.section-prev-sponsors .sponsors-list').outerWidth(); 66 let scrollCurrent = $('.section-prev-sponsors .sponsors-list').scrollLeft(); 67 68 if (n > 0 && scrollCurrent === maxScrollLeft) { 69 scrollDir = '-'; 70 scrollNum = maxScrollLeft; 71 } 72 73 if (n < 0 && scrollCurrent === 0) { 74 scrollDir = '+'; 75 scrollNum = maxScrollLeft; 76 } 77 78 $('.section-prev-sponsors .sponsors-list').stop().animate({ 79 scrollLeft: `${scrollDir}=${scrollNum}px` 80 }); 81} 82 83const displayImpressionsMove = (n) => { 84 let containerInner = document.querySelector('.impressions-list'); 85 let maxScrollLeft = containerInner.scrollWidth - containerInner.clientWidth; 86 let scrollDir = n > 0 ? '+' : '-'; 87 let scrollNum = $('.impressions-list').outerWidth(); 88 let scrollCurrent = $('.impressions-list').scrollLeft(); 89 90 if (n > 0 && scrollCurrent === maxScrollLeft) { 91 scrollDir = '-'; 92 scrollNum = maxScrollLeft; 93 } 94 95 if (n < 0 && scrollCurrent === 0) { 96 scrollDir = '+'; 97 scrollNum = maxScrollLeft; 98 } 99 100 $('.impressions-list').stop().animate({ 101 scrollLeft: `${scrollDir}=${scrollNum}px` 102 }); 103} 104 105let startX; 106let startY; 107let evStart = 'mousedown'; 108let evEnd = 'mouseup'; 109const mediaQuery = 'screen and (max-device-width: 450px) and (max-device-height: 950px)'; 110const screen = window.matchMedia(mediaQuery); 111if (screen.matches) { 112 evStart = 'touchstart'; 113 evEnd = 'touchend'; 114} 115 116function handleTouchStart(e) { 117 if (screen.matches) { 118 let touch = e.touches[0] || e.changedTouches[0]; 119 startX = touch.pageX; 120 startY = touch.pageY; 121 } else { 122 e.preventDefault(); 123 startX = e.pageX; 124 startY = e.pageY; 125 } 126} 127 128function handleTouchEnd(e, type) { 129 let diffX = startX - e.pageX; 130 let diffY = startY - e.pageY; 131 if (screen.matches) { 132 let touch = e.touches[0] || e.changedTouches[0]; 133 diffX = startX - touch.pageX; 134 diffY = startY - touch.pageY; 135 } else { 136 diffX = startX - e.pageX; 137 diffY = startY - e.pageY; 138 } 139 140 if (Math.abs(diffX) >= Math.abs(diffY)) { 141 if (diffX > 20) { 142 if (type === 'sponsors') { 143 displaySponsorsMove(1); 144 } else if (type === 'sponsors-prev') { 145 displayPrevSponsorsMove(1); 146 } else if (type === 'impressions') { 147 displayImpressionsMove(1); 148 } 149 } else if (diffX < -20) { 150 if (type === 'sponsors') { 151 displaySponsorsMove(-1); 152 } else if (type === 'sponsors-prev') { 153 displayPrevSponsorsMove(-1); 154 } else if (type === 'impressions') { 155 displayImpressionsMove(-1); 156 } 157 } 158 } 159} 160 161const vseVrstice = (classString, padding) => { 162 let el = $(classString); 163 let visina = 0; 164 el.css('height', 'auto'); 165 el.each(function (index) { 166 let newHeight = $(this).height() + padding; 167 if (newHeight > visina) { 168 visina = newHeight; 169 } 170 }); 171 el.css('height', visina + 'px'); 172} 173 174const visinaVrstice = () => { 175 vseVrstice('.impressions-list .impressions-content .impression', 44); 176} 177 178$(window).resize(() => { 179 visinaVrstice(); 180}); 181 182document.addEventListener('DOMContentLoaded', () => { 183 const navBurgerBtn = document.getElementById('navBurgerBtn'); 184 const navMenuEl = document.getElementById('navMenuMain'); 185 navBurgerBtn.addEventListener('click', function (e) { 186 e.stopPropagation(); 187 if (navMenuEl.classList.contains('nav-burger-opened')) { 188 navMenuEl.classList.remove('nav-burger-opened'); 189 } else { 190 navMenuEl.classList.add('nav-burger-opened'); 191 } 192 });
193 194 const dropdownLists = $('.nav-link-container'); 195 const dropdownArrows = $('.nav-link-arrow'); 196 197 dropdownArrows.on('click', function () { 198 const itmContainer = $(this).parents('.nav-link-container'); 199 if (itmContainer.hasClass('opened')) { 200 dropdownLists.removeClass('opened'); 201 } else { 202 dropdownLists.removeClass('opened'); 203 itmContainer.addClass('opened'); 204 } 205 }); 206 207 const wrapperEl = document.querySelector('.wrapper.landing'); 208 if (wrapperEl) { 209 let angle = 0; 210 const img = document.getElementById('thriveFanComponent'); 211 212 setInterval(() => { 213 angle += 15; 214 angle = angle % 360; 215 img.style.transform = `rotate(${angle}deg)`; 216 }, 200); 217 218 const elTop = document.getElementById('thriveBannerImgTop'); 219 const imagesTop = [ 220 '/img/sections/img_top_1.png', 221 '/img/sections/img_top_2.png', 222 '/img/sections/img_top_3.png' 223 ]; 224 const elBot = document.getElementById('thriveBannerImgBot'); 225 const imagesBot = [ 226 '/img/sections/img_bot_1.png', 227 '/img/sections/img_bot_2.png', 228 '/img/sections/img_bot_3.png' 229 ]; 230 231 setTimeout(() => { 232 elTop.style.backgroundImage = `url('/img/sections/img_top_3.png')`; 233 }, 1000); 234 switchBgImg(elTop, imagesTop, 2000, 1000); 235 switchBgImg(elBot, imagesBot, 2000, 0); 236 237 const elCountdown = document.getElementById('CountdownSpeakerImage'); 238 const imagesCountdown = [ 239 '/img/icons/countdown_speaker_1.png', 240 '/img/icons/countdown_speaker_2.png', 241 '/img/icons/countdown_speaker_3.png', 242 '/img/icons/countdown_speaker_4.png' 243 ]; 244 switchBgFade(elCountdown, imagesCountdown, 4000, 200); 245 246 const tagsTop = document.querySelector('.banner-tags-top'); 247 const tagsContentTop = document.querySelector('.banner-tags-top-content'); 248 cloneContent(tagsTop, tagsContentTop); 249 250 const tagsBot = document.querySelector('.banner-tags-bot'); 251 const tagsContentBot = document.querySelector('.banner-tags-bot-content'); 252 cloneContent(tagsBot, tagsContentBot); 253 254 visinaVrstice(); 255 let counter = 0; 256 const visinaVrsticeInterval = setInterval(() => { 257 visinaVrstice(); 258 counter++; 259 if (counter >= 10) { 260 clearInterval(visinaVrsticeInterval); 261 } 262 }, 100); 263 264 document.querySelector('.sponsors-list').addEventListener(evStart, handleTouchStart); 265 document.querySelector('.sponsors-list').addEventListener(evEnd, function (e) { 266 handleTouchEnd(e, 'sponsors'); 267 }); 268 269 document.querySelector('.impressions-list').addEventListener(evStart, handleTouchStart); 270 document.querySelector('.impressions-list').addEventListener(evEnd, function (e) { 271 handleTouchEnd(e, 'impressions'); 272 }); 273 } 274 275});
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.