PageSourceSearch

https://museocieloeterra.org/wp-content/themes/museocieloeterra/js/blogRollSlider.js?ver=1.1

js museocieloeterra.org collected 2026-09-25 07:49:05 UTC 6,319 bytes, 261 lines download raw bytes

1/*
2 *	Blog Roll Slider Item and call
3 *	@ver. 3
4 *
5 */
6
7 function blogRollSlider(e) {
8	this.slider = e;
9	this.stager = this.slider.find(".br-slider-stager");
10	this.gallery = this.slider.find(".br-slider-gallery");
11	this.row = this.gallery.children(".row");
12	this.controls = this.slider.find(".br-slider-control");
13	this.columns = this.slider.data("columns");
14	this.paged = this.slider.data("paged") == "si";
15	this.currentIndex = 0;
16	this.currentPage = 0;
17	this.totalItems = 0;
18	this.moveSize = 0;
19	this.disableAutoScroll = true;
20	this.alreadyTriggered = false;
21	this.timer = undefined;
22  
23	var me = this;
24  
25	this.autoFit = function () {
26	  me.gallery.width("auto");
27  
28	  var sliderItems = me.gallery.find(".br-element");
29	  var elementH = 0;
30	  var elementW = 0;
31	  var parentW = 0;
32  
33	  if (sliderItems.length > 0) {
34		me.totalItems = sliderItems.length;
35  
36		sliderItems.each(function () {
37		  var currentItemHeight =
38			jQuery(this).height() + parseInt(jQuery(this).css("marginBottom"));
39		  var currentItemWidth = jQuery(this).width();
40		  var currentItemParentW = jQuery(this).parent().outerWidth();
41  
42		  if (currentItemHeight > elementH) elementH = currentItemHeight;
43  
44		  if (currentItemWidth > elementW) elementW = currentItemWidth;
45  
46		  if (currentItemParentW > parentW) parentW = currentItemParentW;
47  
48		  jQuery(this).parent().width(elementW);
49  
50		  me.itemW = elementW;
51		});
52  
53		me.stager.height(elementH);
54		me.gallery.width(parentW * sliderItems.length);
55		me.moveSize = parentW;
56	  }
57  
58	  if (me.controls.parent().hasClass("inline")) {
59		var btnTop =
60		  elementH / 2 -
61		  me.controls.children(".br-slider-control-left").height() / 2;
62		me.controls.children(".br-slider-control-left").css("top", btnTop + "px");
63		me.controls
64		  .children(".br-slider-control-right")
65		  .css("top", btnTop + "px");
66	  }
67  
68	  if (sliderItems.length <= me.getResponsiveColumns(me.columns)) {
69		me.controls.hide();
70	  } else {
71		me.controls.show();
72	  }
73	};
74  
75	this.getResponsiveColumns = function (columns) {
76	  var w = jQuery(window).width();
77  
78	  if (me.paged) {
79		return Math.floor(me.slider.width() / me.itemW);
80	  } else {
81		if (w > 575 && w <= 767) {
82		  return 2;
83		} else if (w <= 575) {
84		  return 1;
85		}
86  
87		return columns;
88	  }
89	};
90  
91	this.getPages = function () {
92	  var w = jQuery(window).width();
93	  var pages = Math.floor(me.totalItems / me.getResponsiveColumns(me.columns));
94  
95	  if (w <= 575) {
96		return pages - 1;
97	  }
98  
99	  return pages;
100	};
101  
102	this.scrollOnce = function () {
103	  me.timer = setTimeout(function () {
104		me.controls.children(".br-slider-control-right").trigger("click");
105		if (!me.disableAutoScroll) {
106		  me.scrollOnce();
107		}
108	  }, 2000);
109	};
110  
111	this.moveTo = function (direction) {
112	  if (!me.alreadyTriggered) {
113		me.disableAutoScroll = true;
114		me.alreadyTriggered = true;
115  
116		//Left
117		if (direction == "left") {
118		  if (me.paged) {
119			if (me.currentPage < me.getPages()) {
120			  me.currentPage++;
121			  var offset =
122				me.currentPage *
123				(me.moveSize * me.getResponsiveColumns(me.columns)) *
124				-1;
125  
126			  me.gallery.animate({ marginLeft: offset }, 500, function () {
127				me.alreadyTriggered = false;
128  
129				me.controls
130				  .children(".br-slider-control-left")
131				  .addClass("active");
132  
133				if (me.currentPage >= me.getPages())
134				  me.controls
135					.children(".br-slider-control-right")
136					.removeClass("active");
137			  });
138			} else {
139			  me.alreadyTriggered = false;
140			}
141		  } else {
142			if (
143			  me.currentIndex + me.getResponsiveColumns(me.columns) <
144			  me.totalItems
145			) {
146			  me.currentIndex++;
147  
148			  var offset = me.currentIndex * me.moveSize * -1;
149  
150			  me.gallery.animate({ marginLeft: offset }, 500, function () {
151				me.alreadyTriggered = false;
152  
153				me.controls
154				  .children(".br-slider-control-left")
155				  .addClass("active");
156  
157				if (
158				  me.currentIndex + me.getResponsiveColumns(me.columns) >=
159				  me.totalItems
160				)
161				  me.controls
162					.children(".br-slider-control-right")
163					.removeClass("active");
164			  });
165			} else {
166			  me.alreadyTriggered = false;
167			}
168		  }
169		} //Right
170		else {
171		  if (me.paged) {
172			if (me.currentPage > 0) {
173			  me.currentPage--;
174  
175			  var offset =
176				me.currentPage *
177				(me.moveSize * me.getResponsiveColumns(me.columns)) *
178				-1;
179  
180			  me.gallery.animate({ marginLeft: offset }, 500, function () {
181				me.alreadyTriggered = false;
182  
183				me.controls
184				  .children(".br-slider-control-right")
185				  .addClass("active");
186  
187				if (me.currentPage == 0) {
188				  me.controls
189					.children(".br-slider-control-left")
190					.removeClass("active");
191				}
192			  });
193			} else {
194			  me.alreadyTriggered = false;
195			}
196		  } else {
197			if (me.currentIndex > 0) {
198			  me.currentIndex--;
199  
200			  var offset = me.currentIndex * me.moveSize * -1;
201  
202			  me.gallery.animate({ marginLeft: offset }, 500, function () {
203				me.alreadyTriggered = false;
204  
205				me.controls
206				  .children(".br-slider-control-right")
207				  .addClass("active");
208  
209				if (me.currentIndex == 0) {
210				  me.controls
211					.children(".br-slider-control-left")
212					.removeClass("active");
213				}
214			  });
215			} else {
216			  me.alreadyTriggered = false;
217			}
218		  }
219		}
220	  }
221	};
222  
223	me.autoFit();
224  
225	jQuery(window).resize(function () {
226	  me.autoFit();
227	});
228  
229	if (me.controls.children(".br-slider-control-right").length > 0) {
230	  var rightControl = me.controls.children(".br-slider-control-right");
231  
232	  if (me.currentIndex < me.totalItems) {
233		rightControl.addClass("active");
234	  }
235  
236	  rightControl.click(function () {
237		me.moveTo("left");
238	  });
239	}
240  
241	if (me.controls.children(".br-slider-control-left").length > 0) {
242	  var leftControl = me.controls.children(".br-slider-control-left");
243	  leftControl.click(function () {
244		me.moveTo("right");
245	  });
246	}
247  
248	if (me.slider.hasClass("carousel")) {
249	  me.disableAutoScroll = false;
250	  me.scrollOnce();
251	}
252  }
253  
254  jQuery(document).ready(function () {
255	if (jQuery(".br-slider").length > 0) {
256	  jQuery(".br-slider").each(function () {
257		new blogRollSlider(jQuery(this));
258	  });
259	}
260  });
261  

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.