PageSourceSearch

https://estrada.rzeszow.pl/js/zdzislowicz-slider-2.1.js?date=20260401133337

js estrada.rzeszow.pl collected 2026-10-08 14:54:59 UTC 17,590 bytes, 395 lines download raw bytes

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.