1 /** 2 * jQuery Plugin to obtain touch gestures from iPhone, iPod Touch and iPad, should also work with Android mobile phones (not tested yet!) 3 * Common usage: wipe images (left and right to show the previous or next image) 4 * 5 * @author Andreas Waltl, netCU Internetagentur (http://www.netcu.de) 6 * @version 1.1.1 (9th December 2010) - fix bug (older IE's had problems) 7 * @version 1.1 (1st September 2010) - support wipe up and wipe down 8 * @version 1.0 (15th July 2010) 9 */ 10 (function($){$.fn.touchwipe=function(settings){var config={min_move_x:20,min_move_y:20,wipeLeft:function(){},wipeRight:function(){},wipeUp:function(){},wipeDown:function(){},preventDefaultEvents:true};if(settings)$.extend(config,settings);this.each(function(){var startX;var startY;var isMoving=false;function cancelTouch(){this.removeEventListener('touchmove',onTouchMove);startX=null;isMoving=false}function onTouchMove(e){if(config.preventDefaultEvents){e.preventDefault()}if(isMoving){var x=e.touches[0].pageX;var y=e.touches[0].pageY;var dx=startX-x;var dy=startY-y;if(Math.abs(dx)>=config.min_move_x){cancelTouch();if(dx>0){config.wipeLeft()}else{config.wipeRight()}}else if(Math.abs(dy)>=config.min_move_y){cancelTouch();if(dy>0){config.wipeDown()}else{config.wipeUp()}}}}function onTouchStart(e){if(e.touches.length==1){startX=e.touches[0].pageX;startY=e.touches[0].pageY;isMoving=true;this.addEventListener('touchmove',onTouchMove,false)}}if('ontouchstart'in document.documentElement){this.addEventListener('touchstart',onTouchStart,false)}});return this}})(jQuery); 11 12 /* 13 _ _ _ _ _ 14 ____ __| | ____(_) ___ | | ___ __ __(_) ___ ____ _ __ | | 15 |_ // _` ||_ /| |/ __|| | / _ \\ \ /\ / /| | / __||_ / | '_ \ | | 16 / /| (_| | / / | |\__ \| || (_) |\ V V / | || (__ / / _ | |_) || | 17 /___|\__,_|/___||_||___/|_| \___/ \_/\_/ |_| \___|/___|(_)| .__/ |_| 18 |_| 19 20 SLIDER PLUGIN 21 www.zdzislowicz.pl 22 [email protected] 23 24 all rights reserved 25 */ 26 27 // informacja o zmianie slajdu 28 function announceSlide(index) { 29 const status = document.getElementById('slider-status'); 30 if (!status) return; 31 32 const currentSlide = document.querySelectorAll('.content div.contentLi')[index]; 33 if (!currentSlide) return; 34 35 const text = currentSlide.getAttribute('data-status') || 'Zmieniono slajd'; 36 37 status.textContent = ''; 38 setTimeout(() => { 39 status.textContent = text + ': ' + (index + 1); 40 }, 30); 41} 42 43 44 var zSliderStop = 0; 45 var zSliderCounter = 0; 46 47 zSliderStop = getCookie('zdz-wcag-disableAnimations'); 48 49 if(zSliderStop == null) 50 zSliderStop = 0; 51 52 $.fn.zSlider = function(options) { 53 54 var settings = $.extend({ 55 speed : 5000, 56 duration : 1000, 57 show: 0, 58 hide: 0, 59 startDelay: 0, 60 progressBar: false, 61 autoSize: false 62 }, options); 63 64 var timeout; 65 var element = this; 66 67 if(settings.progressBar) 68 element.append('<div class="progressBar"><div></div></div>'); 69 70 if(element.find('.content div.contentLi').length > 0) 71 element.find('.content div.contentLi:eq(0)').stop(true, true).css("display", "flex"); 72 73 if(element.find('.content div.contentLi').length > 2) 74 { 75 if(settings.autoSize) 76 { 77 newHeight = element.find('.content div.contentLi:eq(' + settings.show + ')').css('height'); 78 $(element).find('.content').animate({height: newHeight}); 79 } 80 81 if(settings.progressBar) 82 $(element).find('.progressBar div').animate({ width: '100%' }, settings.speed, 'linear'); 83 84 setTimeout(function() { 85 timeout = setTimeout(function() { 86 run(element); 87 }, 88 settings.speed); 89 }, settings.startDelay); 90 91 // aria start 92 var isPaused = false; 93 94 $('.slider-toggle').on('click', function() { 95 var $btn = $(this); 96 var labelWstrzymaj = $btn.data('label-wstrzymaj'); 97 var labelWznow = $btn.data('label-wznow'); 98 var $icon = $btn.find('.icon'); 99 100 isPaused = !isPaused; 101 102 if (isPaused) { 103 $btn.attr('aria-pressed', 'true') 104 .attr('aria-label', labelWznow); 105 $icon.removeClass('pause').addClass('play'); 106 clearTimeout(timeout); 107 } else { 108 $btn.attr('aria-pressed', 'false') 109 .attr('aria-label', labelWstrzymaj); 110 $icon.removeClass('play').addClass('pause'); 111 timeout = setTimeout(function(){ run(element); }, settings.speed); 112 } 113 }); 114 // aria end 115 } 116 117 function run(element) { 118 if (isPaused) return; 119 if(!settings.autoSize) 120 { 121 if(zSliderStop == 0) 122 { 123 settings.hide = settings.show; 124 settings.show++; 125 126 if(settings.show == (element.find('.content div.contentLi').length - 1)) 127 settings.show = 0; 128 129 if(settings.autoSize) 130 { 131 newHeight = element.find('.content div.contentLi:eq(' + settings.show + ')').css('height'); 132 $(element).find('.content').animate({height: newHeight}); 133 } 134 135 element.find('.nav li:eq(' + settings.show + ')').children().addClass('active'); 136 element.find('.nav li:eq(' + settings.hide + ')').children().removeClass('active'); 137 138 element.find('.content div.contentLi:eq(' + settings.show + ')').stop(true, true).css("display", "flex").hide().fadeIn(settings.duration) 139 element.find('.content div.contentLi:eq(' + settings.hide + ')').stop(true, true).fadeOut(settings.duration); 140 141 $('body').find('.content-bg div:eq(' + settings.show + ')').stop(true, true).css("display", "flex").hide().fadeIn(settings.duration); 142 $('body').find('.content-bg div:eq(' + settings.hide + ')').stop(true, true).fadeOut(settings.duration); 143 144 if(settings.progressBar) 145 { 146 $(element).find('.progressBar div').animate({ width: '0%' }, 0, 'linear'); 147 $(element).find('.progressBar div').animate({ width: '100%' }, settings.speed, 'linear'); 148 } 149
150 $('.pagination-info b').html(settings.show); 151 152 clearTimeout(timeout); 153 timeout = setTimeout(function(){ run(element); }, settings.speed); 154 } 155 } 156 } 157 158 element.on('click', '.nav li', function(e) { 159 e.preventDefault(); 160 e.stopPropagation(); 161 162 settings.hide = settings.show; 163 settings.show = element.find( ".nav li" ).index(this); 164 165 if(settings.autoSize) 166 { 167 newHeight = element.find('.content div.contentLi:eq(' + settings.show + ')').css('height'); 168 $(element).find('.content').animate({height: newHeight}); 169 } 170 171 if(settings.show != settings.hide) 172 { 173 element.find('.nav li:eq(' + settings.show + ')').children().addClass('active'); 174 element.find('.nav li:eq(' + settings.hide + ')').children().removeClass('active'); 175 176 element.find('.content div.contentLi:eq(' + settings.show + ')').stop(true, true).css("display", "flex").hide().fadeIn(settings.duration) 177 element.find('.content div.contentLi:eq(' + settings.hide + ')').stop(true, true).fadeOut(settings.duration); 178 179 $('body').find('.content-bg div:eq(' + settings.show + ')').stop(true, true).css("display", "flex").hide().fadeIn(settings.duration); 180 $('body').find('.content-bg div:eq(' + settings.hide + ')').stop(true, true).fadeOut(settings.duration); 181 182 $('.pagination-info b').html(settings.show); 183 184 clearTimeout(timeout); 185 timeout = setTimeout(function(){ run(element); }, settings.speed); 186 } 187 188 if(settings.progressBar) 189 { 190 $(element).find('.progressBar div').stop(true, true).animate({ width: '0%' }, 0, 'linear'); 191 $(element).find('.progressBar div').stop(true, true).animate({ width: '100%' }, settings.speed, 'linear'); 192 } 193 }); 194 195 element.on('click', '.next', function(e) { 196 settings.hide = settings.show; 197 settings.show++; 198 199 if(settings.show == (element.find('.content div.contentLi').length - 1)) 200 settings.show = 0; 201 202 if(settings.autoSize) 203 { 204 newHeight = element.find('.content div.contentLi:eq(' + settings.show + ')').css('height'); 205 $(element).find('.content').animate({height: newHeight}); 206 } 207 208 element.find('.nav li:eq(' + settings.show + ')').children().addClass('active'); 209 element.find('.nav li:eq(' + settings.hide + ')').children().removeClass('active'); 210 211 element.find('.content div.contentLi:eq(' + settings.show + ')').stop(true, true).css("display", "flex").hide().fadeIn(settings.duration) 212 element.find('.content div.contentLi:eq(' + settings.hide + ')').stop(true, true).fadeOut(settings.duration); 213 214 $('body').find('.content-bg div:eq(' + settings.show + ')').stop(true, true).css("display", "flex").hide().fadeIn(settings.duration); 215 $('body').find('.content-bg div:eq(' + settings.hide + ')').stop(true, true).fadeOut(settings.duration); 216 217 if(settings.progressBar) 218 { 219 $(element).find('.progressBar div').stop(true, true).animate({ width: '0%' }, 0, 'linear'); 220 $(element).find('.progressBar div').stop(true, true).animate({ width: '100%' }, settings.speed, 'linear'); 221 } 222 223 $('.pagination-info b').html(settings.show); 224 225 clearTimeout(timeout); 226 timeout = setTimeout(function(){ run(element); }, settings.speed); 227 228 announceSlide(settings.show); 229 }); 230 231 element.on('click', '.prev', function(e) { 232 settings.hide = settings.show; 233 settings.show--; 234 235 if(settings.show == -1) 236 settings.show = element.find('.content div.contentLi').length-2; 237 238 if(settings.autoSize) 239 { 240 newHeight = element.find('.content div.contentLi:eq(' + settings.show + ')').css('height'); 241 $(element).find('.content').animate({height: newHeight}); 242 } 243 244 element.find('.nav li:eq(' + settings.show + ')').children().addClass('active'); 245 element.find('.nav li:eq(' + settings.hide + ')').children().removeClass('active'); 246 247 element.find('.content div.contentLi:eq(' + settings.show + ')').stop(true, true).css("display", "flex").hide().fadeIn(settings.duration) 248 element.find('.content div.contentLi:eq(' + settings.hide + ')').stop(true, true).fadeOut(settings.duration); 249 250 $('body').find('.content-bg div:eq(' + settings.show + ')').stop(true, true).css("display", "flex").hide().fadeIn(settings.duration); 251 $('body').find('.content-bg div:eq(' + settings.hide + ')').stop(true, true).fadeOut(settings.duration); 252 253 if(settings.progressBar) 254 { 255 $(element).find('.progressBar div').stop(true, true).animate({ width: '0%' }, 0, 'linear'); 256 $(element).find('.progressBar div').stop(true, true).animate({ width: '100%' }, settings.speed, 'linear'); 257 } 258
259 $('.pagination-info b').html(settings.show); 260 261 clearTimeout(timeout); 262 timeout = setTimeout(function(){ run(element); }, settings.speed); 263 264 announceSlide(settings.show); 265 }); 266 267 element.touchwipe({ 268 wipeRight: function() { 269 if(element.find('.content div.contentLi').length > 2) 270 { 271 settings.hide = settings.show; 272 settings.show--; 273 274 if(settings.show == -1) 275 settings.show = element.find('.content div.contentLi').length-2; 276 277 if(settings.autoSize) 278 { 279 newHeight = element.find('.content div.contentLi:eq(' + settings.show + ')').css('height'); 280 $(element).find('.content').animate({height: newHeight}); 281 } 282 283 element.find('.nav li:eq(' + settings.show + ')').children().addClass('active'); 284 element.find('.nav li:eq(' + settings.hide + ')').children().removeClass('active'); 285 286 element.find('.content div.contentLi:eq(' + settings.show + ')').stop(true, true).css("display", "flex").hide().fadeIn(settings.duration) 287 element.find('.content div.contentLi:eq(' + settings.hide + ')').stop(true, true).fadeOut(settings.duration); 288 289 $('body').find('.content-bg div:eq(' + settings.show + ')').stop(true, true).css("display", "flex").hide().fadeIn(settings.duration); 290 $('body').find('.content-bg div:eq(' + settings.hide + ')').stop(true, true).fadeOut(settings.duration); 291 292 if(settings.progressBar) 293 { 294 $(element).find('.progressBar div').stop(true, true).animate({ width: '0%' }, 0, 'linear'); 295 $(element).find('.progressBar div').stop(true, true).animate({ width: '100%' }, settings.speed, 'linear'); 296 } 297 $('.pagination-info b').html(settings.show); 298 299 clearTimeout(timeout); 300 timeout = setTimeout(function(){ run(element); }, settings.speed); 301 } 302 }, 303 wipeLeft: function() { 304 if(element.find('.content div.contentLi').length > 2) 305 { 306 settings.hide = settings.show; 307 settings.show++; 308 309 if(settings.show == (element.find('.content div.contentLi').length - 1)) 310 settings.show = 0; 311 312 if(settings.autoSize) 313 { 314 newHeight = element.find('.content div.contentLi:eq(' + settings.show + ')').css('height'); 315 $(element).find('.content').animate({height: newHeight}); 316 } 317 318 element.find('.nav li:eq(' + settings.show + ')').children().addClass('active'); 319 element.find('.nav li:eq(' + settings.hide + ')').children().removeClass('active'); 320 321 element.find('.content div.contentLi:eq(' + settings.show + ')').stop(true, true).css("display", "flex").hide().fadeIn(settings.duration) 322 element.find('.content div.contentLi:eq(' + settings.hide + ')').stop(true, true).fadeOut(settings.duration); 323 324 $('body').find('.content-bg div:eq(' + settings.show + ')').stop(true, true).css("display", "flex").hide().fadeIn(settings.duration); 325 $('body').find('.content-bg div:eq(' + settings.hide + ')').stop(true, true).fadeOut(settings.duration); 326 327 if(settings.progressBar) 328 { 329 $(element).find('.progressBar div').stop(true, true).animate({ width: '0%' }, 0, 'linear'); 330 $(element).find('.progressBar div').stop(true, true).animate({ width: '100%' }, settings.speed, 'linear'); 331 } 332 333 $('.pagination-info b').html(settings.show); 334 335 clearTimeout(timeout); 336 timeout = setTimeout(function(){ run(element); }, settings.speed); 337 } 338 }, 339 preventDefaultEvents: false 340 }); 341 } 342
343 $('.slider').each(function() { 344 $(this).addClass('sliderRun' + zSliderCounter); 345 346 sliderAutoSize = false; 347 348 if($(this).hasClass('sliderAutoSize')) 349 sliderAutoSize = true; 350 351 $('.sliderRun' + zSliderCounter).zSlider({ 352 speed : 6000, 353 duration : 800, 354 startDelay: 3000, 355 autoSize: sliderAutoSize 356 }); 357 358 zSliderCounter++; 359 }); 360 361 document.addEventListener('DOMContentLoaded', function () { 362 363 var currentDomain = window.location.hostname; 364 var sliderLinks = document.querySelectorAll('#slider-slide .cover-bg a'); 365 366 var labelExternal = 'otwiera siÄ w nowej karcie, link zewnÄtrzny'; 367 var labelInternal = 'otwiera siÄ w nowej karcie'; 368 369 for (var i = 0; i < sliderLinks.length; i++) { 370 var link = sliderLinks[i]; 371 var href = link.getAttribute('href'); 372 373 if (!href) continue; 374 375 link.setAttribute('target', '_blank'); 376 link.setAttribute('rel', 'noopener noreferrer'); 377 378 var linkDomain = ''; 379 try { 380 linkDomain = new URL(href).hostname; 381 } catch (e) { 382 linkDomain = currentDomain; 383 } 384 385 var isExternal = linkDomain !== currentDomain; 386 var hiddenText = isExternal ? labelExternal : labelInternal; 387 388 // Dodaj ukryty tekst do linka 389 var span = document.createElement('span'); 390 span.className = 'sr-only'; 391 span.textContent = ' (' + hiddenText + ')'; 392 link.appendChild(span); 393 } 394 395});
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.