PageSourceSearch

https://www.voedselbankhaarlemmermeer.nl/wp-content/plugins/logos-showcase/js/carousel.js

js voedselbankhaarlemmermeer.nl collected 2026-10-08 21:00:10 UTC 7,544 bytes, 300 lines download raw bytes

1	var ls_curr_slider = [];
2
3	//initial trigger
4	jQuery(document).ready(function($){
5
6		ls_trigger_sliders();
7		jQuery('html').on('mousedown', '.bx-viewport a', function() {
8			var url = jQuery(this).attr('href');
9			if( url !== ''){
10				window.open( url, jQuery(this).attr('target') );
11			}
12		});
13
14	});
15
16	//to load after an ajax
17	jQuery(document).ajaxSuccess(function($) {
18
19		//ls_trigger_sliders();
20		//console.log('I am loading');
21		//console.log(lssliderparam);
22
23	});
24
25
26
27
28	//to trigger the slider reload on orientation change.
29	jQuery(document).ready(function($){
30
31
32		//jQuery(window).on('resize orientationchange', function($) {
33			jQuery(window).on('null', function($) {
34
35			clearTimeout(jQuery.data(this, 'resizeTimer'));
36		    jQuery.data(this, 'resizeTimer', setTimeout(function() {
37
38
39
40		       	for (var i = 0; i < ls_curr_slider.length; i++) {
41
42
43					if (typeof ls_curr_slider[i] != 'undefined') {
44
45
46					  ls_curr_slider[i].destroySlider();
47					  ls_curr_slider[i].unbind();
48					  ls_curr_slider[i] = undefined;
49
50					}
51
52				}
53
54				for (var key in lssliderparam) {
55					jQuery(lssliderparam[key]['divid']).css("opacity", 1).parent().prop( "style", null );
56
57				}
58
59				jQuery('.lshowcase-logos').each(function(){
60					jQuery(this).attr('style','');
61				});
62
63				ls_trigger_sliders();
64
65		    }, 500));
66
67		});
68
69
70	});
71
72
73
74	//function to trigger sliders
75	function ls_trigger_sliders() {
76
77		for (var key in lssliderparam) {
78
79			 var auto = (lssliderparam[key]['auto'] === 'true');
80			 var pause = parseInt(lssliderparam[key]['pause']);
81			 var autohover = (lssliderparam[key]['autohover'] === 'true');
82			 var ticker = (lssliderparam[key]['ticker'] === 'true');
83			 var tickerhover = (lssliderparam[key]['tickerhover'] === 'true');
84			 var usecss = (lssliderparam[key]['usecss'] === 'true');
85			 var autocontrols = (lssliderparam[key]['autocontrols'] === 'true');
86			 var speed = parseInt(lssliderparam[key]['speed']);
87			 var slidemargin = parseInt(lssliderparam[key]['slidemargin']);
88			 var infiniteloop = (lssliderparam[key]['infiniteloop'] === 'true');
89			 var pager = (lssliderparam[key]['pager'] === 'true');
90			 var controls = (lssliderparam[key]['controls'] === 'true');
91			 var slidewidth = parseFloat(lssliderparam[key]['slidewidth']);
92			 var minslides = parseInt(lssliderparam[key]['minslides']);
93			 var maxslides = parseInt(lssliderparam[key]['maxslides']);
94			 var moveslides = parseInt(lssliderparam[key]['moveslides']);
95			 var tmode = lssliderparam[key]['mode']; //options: 'horizontal', 'vertical', 'fade'
96			 var direction = lssliderparam[key]['direction'];
97
98			 var next = '';
99			 var prev = '';
100
101			 if(lssliderparam[key]['next']!=''){
102			 	next = lssliderparam[key]['next'];
103			 }
104			 if(lssliderparam[key]['prev']!=''){
105			 	prev = lssliderparam[key]['prev'];
106			 }
107
108
109			 //remove pager space by setting pager to false for ticker
110			 if(ticker == true) {
111			 	controls = false;
112			 }
113
114			 var sliderDiv = jQuery(lssliderparam[key]['divid']);
115			 //sometimes the div is passed wrong, so we built a temp fix here:
116			 //if(sliderDiv==false) {
117			 	//sliderDiv = $('.lshowcase-wrap-carousel-1');
118			 //}
119
120			 //To improve responsive behaviour we force the limit of 1 slide in small viewports
121			 if(maxslides==0 && ticker == false) {
122
123			 	var view_width = sliderDiv.parent().width();
124
125			 	if(controls == true ) { view_width = view_width-70; }
126
127				 var slider_real = slidemargin + slidewidth;
128				 maxslides = Math.floor(view_width/slider_real);
129
130				 //not to ignore the minimum value
131				 if(maxslides < minslides) {
132				 	maxslides = minslides;
133				 }
134
135				 if(moveslides==0) {
136				 	moveslides = maxslides;
137				 }
138
139			 }
140
141			 if(maxslides==0 && ticker != false) {
142			 	maxslides = 99;
143			 }
144
145
146			//fix bug of 1 slider only infinite loop not working
147	        //another solution could be adding the slidemargin to
148	        //the slideWidth and align the images in the center
149	        if (maxslides <= 1 && ticker == false) {
150	            //set margin to null
151	            slidemargin = 0;
152	            //make sure max slides is set to 1
153	            maxslides = 1;
154	            //make sure moveslides is set to 1
155	            moveSlides = 1;
156
157	        }
158
159			sliderDiv.fadeIn('fast');
160
161
162		    ls_curr_slider[key] = sliderDiv.bxSlider({
163		    auto: auto,
164			pause: pause,
165			autoHover: autohover,
166			ticker: ticker,
167			tickerHover: tickerhover,
168			useCSS: usecss,
169			autoControls: autocontrols,
170			mode: tmode,
171			speed: speed,
172			slideMargin: slidemargin,
173			infiniteLoop: infiniteloop,
174		    pager: pager,
175			controls: controls,
176		    slideWidth: slidewidth,
177		    minSlides: minslides,
178		    maxSlides: maxslides,
179		    moveSlides: moveslides,
180		    autoDirection: direction,
181		    nextText: next,
182		    prevText: prev,
183		    //captions: true,
184            //Make Slider Start again after controls get clicked (useful for auto slide)
185            /*
186            onSlideAfter: function() {
187                ls_curr_slider[key].stopAuto();
188                ls_curr_slider[key].startAuto();
189            },
190            */
191		    onSliderLoad: function(currentIndex){
192
193		    	var sl = sliderDiv.parent().parent();
194
195		    		var marg = '0 35px';
196
197		    		if(controls == false ) { marg = 'none'; }
198
199				   sl.css({
200						margin: marg
201						});
202
203				   sl.parent().css({
204						maxWidth: sl.width()+80
205						});
206
207
208				   //to align elements in the center in ticker
209				   /*
210					We change the class, becasue the lshowcase-slide has a float:none!important that breaks
211					the ticker code.
212					Note: Seems safari doesn't trigger the ticker = true if there are other sliders non-ticker in the page
213				   */
214
215				   if(ticker == true) {
216
217				   	sliderheight = sliderDiv.parent().height();
218
219		                if(sliderheight>0) {
220		                	sliderDiv.find(".lshowcase-slide")
221		                	.addClass('lshowcase-ticker-slide')
222		                	.removeClass('lshowcase-slide')
223		                	.css("height",sliderheight + 'px');
224		                }
225
226				   }
227
228
229				   /* Tooltip code *
230				   /* Fix for cloned elements. Run tooltip code only after the slider is loaded
231
232				   var toshow = 'title';
233
234					jQuery('.lshowcase-tooltip').tooltip({
235					content: function () { return jQuery(this).attr(toshow) },
236					close: function( event, ui ) {
237						    ui.tooltip.hover(
238						        function () {
239						            jQuery(this).stop(true).fadeTo(400, 1);
240						            //.fadeIn("slow"); // doesn't work because of stop()
241						        },
242						        function () {
243						            jQuery(this).fadeOut("400", function(){ jQuery(this).remove(); })
244						        }
245						    );
246						  },
247					position: {
248					my: "center bottom-20",
249					at: "center top",
250					using: function( position, feedback ) {
251					jQuery( this ).css( position );
252					jQuery( "<div>" )
253					.addClass( "lsarrow" )
254					.addClass( feedback.vertical )
255					.addClass( feedback.horizontal )
256					.appendTo( this );
257					}
258					}
259					});
260
261
262
263				   /* End tooltip code */
264
265		    }
266
267			});
268
269		}
270
271		//Use Custom Controls
272		if( jQuery('#ls-slider-prev').length )
273
274		{
275
276			//custom controls
277			jQuery("#ls-slider-prev").click(function(){
278			    ls_curr_slider[0].goToPrevSlide();
279			    ls_curr_slider[1].goToPrevSlide();
280			    ls_curr_slider[0].stopAuto();
281			    ls_curr_slider[1].stopAuto();
282			});
283
284			jQuery("#ls-slider-next").click(function(){
285			    ls_curr_slider[0].goToNextSlide();
286			    ls_curr_slider[1].goToNextSlide();
287			    ls_curr_slider[0].stopAuto();
288			    ls_curr_slider[1].stopAuto();
289			});
290
291		}
292
293
294
295
296	}
297
298
299
300

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.