PageSourceSearch

https://www.zanimljivamuzika.com/wp-content/themes/sg-window/inc/js/slider.js?ver=6.2.13

js zanimljivamuzika.com collected 2026-10-02 10:49:27 UTC 7,239 bytes, 305 lines download raw bytes

1//load main functions
2jQuery( document ).ready(function( $ ) {
3
4    slider();
5	
6	function slider() {
7		$( '.sgwindow-slider-content' ).each( function( index ) {
8		
9			var arrName = $(this).attr('class').split( ' ' );
10			var is_autoplay = arrName[0];
11			var slidespeed = parseInt( arrName[1] );
12			var delayspeed = parseInt( arrName[2] );
13			var timerId;
14			var animtype = 4;
15			var disabled = false;
16			
17			var slider = $( this );
18			var slide = $(this).find( '.sgwindow-slide' );
19			var size = slide.size();
20			
21			var currindex = 0;
22			var newindex = 0;
23			var previndex = size - 1;
24			
25			if ( 0 == size ) {
26			
27				slider.css( 'display', 'none' );
28				return;
29				
30			}
31			
32			if ( size < 4 ) {
33				for( i = size; i < 4; i++) {
34					$(this).find( '.sgwindow-slide:first-child' )
35								.clone()
36								.insertBefore( $(this).find( '.sgwindow-slide:first-child' ) )
37				}
38				slide = $(this).find( '.sgwindow-slide' );
39				size = slide.size();
40			}
41			
42			var menuitem = $( this ).parent().find( '.sgwindow-slider-buttons li' );
43			var next = $( this ).parent().find( '.sgwindow-next-button' );
44			var prev = $( this ).parent().find( '.sgwindow-prev-button' );
45			
46			if ( '1' == is_autoplay ) {
47				autoplay();
48			}
49			
50			next.click(function( event ) {	
51				if ( disabled )
52					return false;
53				disabled = true;
54				
55				newindex = ( newindex + 1 >= size ? 0 : newindex + 1 );
56				
57				slide.eq(currindex - 1).stop(true, true);
58				slide.eq(currindex + 1).stop(true, true);
59				slide.eq(currindex).stop(true, true);
60				slide.eq(previndex).stop(true, true);
61				
62				animtype = 4;
63				previndex = currindex - 1;
64				if ( previndex < 0 )
65					previndex = size - 1;
66				
67				switchSlide();
68				
69				slider.parent().find( '.sgwindow-slider-buttons li' ).removeClass( 'current' );
70				slider.parent().find( '.sgwindow-slider-buttons li' ).eq( newindex ).addClass( 'current' );
71				
72				return false;
73			});
74			
75			prev.click(function( event ) {
76
77				if ( disabled )
78					return false;
79				disabled = true;
80				
81				newindex = ( newindex - 1 >= 0 ? newindex - 1 : size - 1 );
82				
83				slide.eq(currindex - 1 ).stop(true, true);
84				slide.eq(currindex + 1).stop(true, true);
85				slide.eq(currindex).stop(true, true);
86				slide.eq(previndex).stop(true, true);
87				
88				animtype = 3;
89				previndex = newindex - 1;
90				
91				switchSlide();
92				
93				slider.parent().find( '.sgwindow-slider-buttons li' ).removeClass( 'current' );
94				slider.parent().find( '.sgwindow-slider-buttons li' ).eq( newindex ).addClass( 'current' );
95				
96				return false;
97			});
98			
99			menuitem.click(function( event ) {
100			
101				var next_b = menuitem.index( this );
102				if ( next_b == currindex )
103					return;
104					
105				slider.parent().find( '.sgwindow-slider-buttons li' ).removeClass( 'current' );
106				$( this ).addClass( 'current' );
107				slider.eq( currindex ).stop(true, true);
108				slider.eq( previndex ).stop(true, true);
109				
110				var prevspeed = slidespeed;
111				var slidetomove = ( next_b - currindex > 0 ? next_b - currindex : currindex - next_b );
112				slidespeed = slidespeed / slidetomove;
113				var timeout = slidespeed;
114				
115				var button = ( next_b > currindex ? next : prev );
116											
117				moveit( false, 400, button, slidetomove - 1, prevspeed );
118		});
119		
120		function moveit( flag, timeout, button, index, prevspeed ) {
121		
122			if ( false === flag ) {
123				setTimeout( function() { 
124					moveit( true, timeout, button, index, prevspeed );
125				}, timeout );
126			} else {
127				button.click();
128	
129				if ( index > 0 ) {
130					index--;
131					moveit( false, timeout, button, index, prevspeed );
132				} else {
133					slidespeed = prevspeed;
134				}
135			}
136		}
137					
138		slider.mouseover(function( event ) {
139			if ( is_autoplay ) {
140				clearInterval( timerId );
141			}
142		});
143
144		slider.mouseleave(function( event ) {
145			if ( is_autoplay ){
146				clearInterval( timerId );
147				autoplay();
148			}
149		});
150		
151		function autoplay() { 
152			timerId = setInterval( function (){
153				next.click();
154			}, delayspeed );
155		}
156		function switchSlide() {
157			animslide(currindex, newindex);
158
159			previndex = currindex;
160			currindex = newindex;		
161		}
162
163		function animslide(currindex, newindex) {
164				
165			switch ( animtype ) {
166				case 3: //move right
167				
168					slide.eq( previndex )
169						.css( 'display', 'block' )
170						.css( 'left', '-200%' )
171						.css( 'right', '200%' )
172						.animate({
173							'left':'-100%', 'right':'100%'}, {
174							duration: slidespeed,
175							queue: false,
176							always: function() { 
177						} 
178					});
179
180					slide.eq( currindex )
181						.css( 'display', 'block' )
182						.css( 'left', '0' )
183						.css( 'right', '0' )
184						.animate({
185							'left':'100%', 'right':'-100%'}, {
186							duration: slidespeed,
187							queue: false,
188							always: function() { 
189								enabled();
190						} 
191					});	
192							
193					slide.eq( newindex )
194						.css( 'display', 'block' )
195						.css( 'left', '-100%' )
196						.css( 'right', '100%' )
197						.animate({
198							'left':'0', 'right':'0'}, {
199							duration: slidespeed, 
200							queue: false,
201							always: function() { 
202						} 
203					});
204					
205					if ( size == currindex + 1 ) {
206						slide.eq( 0 )
207							.css( 'display', 'block' )
208							.css( 'left', '100%' )
209							.css( 'right', '-100%' )
210							.animate({
211								'left':'200%', 'right':'-200%'}, {
212								duration: slidespeed, 
213								queue: false,
214								always: function() { 
215							} 
216						});
217					} else {
218						slide.eq( currindex + 1 )
219							.css( 'display', 'block' )
220							.css( 'left', '100%' )
221							.css( 'right', '-100%' )
222							.animate({
223								'left':'200%', 'right':'-200%'}, {
224								duration: slidespeed, 
225								queue: false,
226								always: function() { 
227							} 
228						});
229					}
230					
231				break;
232				case 4:	//move left
233					
234					slide.eq( previndex )
235						.css( 'display', 'block' )
236						.css( 'left', '-100%' )
237						.css( 'right', '100%' )
238						.animate({
239							'left':'-200%', 'right':'200%'}, {
240							duration: slidespeed,
241							queue: false,
242							always: function() { 
243								} 
244							});
245
246					slide.eq( currindex )
247						.css( 'display', 'block' )
248						.css( 'left', '0' )
249						.css( 'right', '0' )
250						.animate({
251							'left':'-100%', 'right':'100%'}, {
252							duration: slidespeed,
253							queue: false,
254							always: function() { 
255								enabled();
256								} 
257							});
258							
259					slide.eq( newindex )
260						.css( 'display', 'block' )
261						.css( 'left', '100%' )
262						.css( 'right', '-100%' )
263						.animate({
264							'left':'0', 'right':'0'}, {
265							duration: slidespeed, 
266							queue: false
267					});
268
269					if( size == newindex + 1 ) {
270						slide.eq( 0 )
271							.css( 'display', 'block' )
272							.css( 'left', '200%' )
273							.css( 'right', '-200%' )
274							.animate({
275								'left':'100%', 'right':'-100%'}, {
276								duration: slidespeed, 
277								queue: false
278						});
279					} else {
280						slide.eq( newindex + 1 )
281							.css( 'display', 'block' )
282							.css( 'left', '200%' )
283							.css( 'right', '-200%' )
284							.animate({
285								'left':'100%', 'right':'-100%'}, {
286								duration: slidespeed, 
287								queue: false
288						});
289					}			
290
291				break;
292			};
293		}
294		
295		function hideslide( obj ) {
296			obj.css( 'display', 'none' ); 
297		}		
298		
299		function enabled() {
300			disabled = false; 
301		}
302		
303	});
304	}
305});

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.