PageSourceSearch

https://tuer7.at/wp-content/themes/bigwig/framework/js/pe/jquery.pixelentity.volo.captions.js?ver=1418670591

js tuer7.at collected 2026-10-08 20:59:22 UTC 7,825 bytes, 342 lines download raw bytes

1(function ($) {
2	/*jslint undef: false, browser: true, devel: false, eqeqeq: false, bitwise: false, white: false, plusplus: false, regexp: false, nomen: false */ 
3	/*global jQuery,setTimeout,location,setInterval,YT,clearInterval,clearTimeout,pixelentity,WebKitCSSMatrix, */
4	
5	$.pixelentity = $.pixelentity || {version: '1.0.0'};
6	
7	$.pixelentity.peVoloCaptions = {	
8		conf: {
9			slider: false,
10			origW: false,
11			origH: false,
12			orig: "default",
13			api: false
14		} 
15	};
16	
17	
18	// 0-480, 481-767, 768-980, 980 - anything
19	var cssT = $.support.csstransitions;
20	var cssA = $.support.cssanimation;
21	var ieOld = $.browser.msie && $.browser.version < 9;
22	var jwin = $(window);
23		
24	var properties = "";
25	
26	if (cssT) {
27		//properties = "opacity, %0transform".format($.support.csstransitionsPrefix);
28		properties = "opacity";
29	}
30		
31	function PeVoloCaptions(target, conf) {
32		var w,h;
33		var slider;
34		var slides;
35		var active = {};
36		var current = -1;
37		var scaled = false;
38		//var captionsLayer;
39		
40		function resizeCaption(c) {
41			if (!w || !h || w<20 || h<20) {
42				setTimeout(resize,100);
43				return;
44			}
45			c = $(c);
46			
47			var scaler;
48			
49			if (c.find(".peCaptionLayer").length > 0) {
50				c.css({
51					"margin": 0,
52					"padding": 0,
53					"background": "none"
54				});
55				var r = 1,x = 0, y = 0;
56				
57				var cw = parseInt(c.attr("data-orig-width"),10) || conf.origW;
58				var ch = parseInt(c.attr("data-orig-height"),10) || conf.origH;
59				
60				if (cw && ch) {
61					scaler = $.pixelentity.Geom.getScaler("fit","center","center",w,h,cw,ch);
62					r = scaler.ratio;
63					x = scaler.offset.w;
64					y = scaler.offset.h;
65				} else {
66					r = h/conf.origH;
67				}
68				
69				if (r != 1 || x !== 0 || y !== 0 || scaled) {
70					c.transform(r,x,y,null,null,true);
71					scaled = true;
72				}
73				
74			} else {
75				var align = (c.attr("data-align") || "bottom,left").split(",");
76				scaler = $.pixelentity.Geom.getScaler("none",align[1],align[0],w,h,c.outerWidth(),c.outerHeight());
77				var co = (c.attr("data-offset") || "-20,40").split(",");
78				c.css({
79					"margin-top": scaler.offset.h+parseInt(co[0],10),
80					"margin-left": scaler.offset.w+parseInt(co[1],10)
81				});	
82			}			
83		}
84
85		
86		function resizeCaptions() {
87			var i,j;
88			for (i in active) {
89				if (typeof i == "string" && active[i]) {
90					for (j = 0; j<active[i].length;j++) {
91						resizeCaption(active[i][j]);
92					}
93				}
94			}
95		}
96		
97		
98		function resize() {
99			w = target.width();
100			h = target.height();
101			resizeCaptions();
102		}
103		
104		function remove(el,idx) {
105			slides[idx].append(active[idx]);
106			delete active[idx];
107		}
108		
109		function fadeIn(el) {
110			var jel = $(el);
111			
112			var duration = parseFloat(jel.attr("data-duration") || 0.5);
113			var delay = parseFloat(jel.attr("data-delay") || 0);
114			var layers = jel.find(".peCaptionLayer");
115			var i,layer,x,y,tClass,cmd;
116			
117			if (layers.length > 0) {
118				
119				jel.addClass("pe-has-layers");
120								
121				for (i=0;i<layers.length;i++) {
122					layer = layers.eq(i);
123					
124					duration = parseFloat(layer.attr("data-duration"),10) || 1;
125					delay = parseFloat(layer.attr("data-delay"),10) || 0;
126					
127					
128					if ((cmd = layer.attr("data-command"))) {
129						if (typeof slider[cmd] === "function") {
130							if (delay) {
131								setTimeout(function () {
132									slider[cmd]();
133								},delay*1000);
134							} else {
135								slider[cmd]();
136							}
137						}
138						//continue;
139					}
140										
141					x = parseInt(layer.attr("data-x"),10) || 0;
142					y = parseInt(layer.attr("data-y"),10) || 0;
143					
144					if (conf.orig === "center" || layer.attr("data-origin") === "center") {
145						x += (conf.origW - layer.width()) >> 1; 
146						y += (conf.origH - layer.height()) >> 1; 
147					}
148					
149					layer.css({
150						"left": x+"px",
151						"top": y+"px"
152					});
153					
154					if (cssA) {
155						layer[0].style[cssA+"Delay"] = delay + "s";
156						layer[0].style[cssA+"Duration"] = duration + "s";
157						tClass = "animated ";
158						tClass += layer.attr("data-transition") || "peZoom";
159						layer.addClass(tClass).data("transition-classes",tClass);
160					} else {
161						//layer.stop().css("opacity",0).delay(delay*1000).animate({opacity:ieOld ? 1 : 1},Math.min(duration,1)*1000);
162						layer.stop().css("opacity",0).delay(delay*1000).animate({opacity:1},ieOld ? 0 : Math.min(duration,1)*1000);
163					}
164					
165				}
166				
167				jel.css("opacity",1);
168				
169			} else {
170				if (cssT) {
171					el.style[cssT+"Property"] = properties;
172					el.style[cssT+"Duration"] = duration + "s";
173					el.style[cssT+"Delay"] = delay + "s";
174					jel.css("opacity",1);
175					jel.transform(1,0,0,w,h);
176				} else {
177					jel.stop().delay(delay*1000).animate({opacity:1,left:0,top:0},Math.min(duration,1)*1000);
178				}
179			}
180			jel.find("img").addClass("pe-lazyloading-forceload");
181			jwin.triggerHandler("pe-lazyloading-refresh");
182		}
183		
184		function fadeOut(el) {
185			var jel = $(el);
186			if (cssT) {
187				el.style[cssT+"Property"] = "opacity";
188				el.style[cssT+"Delay"] = "0s";
189				el.style[cssT+"Duration"] = "0.5s";	
190				jel.css("opacity",0);	
191			} else {
192				jel.stop().animate({opacity:0}
192,500);
193			}
194			//console.log(el);
195		}
196		
197		function killCaption(i) {
198			var j, layers;
199			if (cssT) {
200				layers = active[i].find("> div.peCaptionLayer");
201				for (j=0;j<layers.length;j++) {
202					layers.eq(j).removeClass(layers.eq(j).data("transition-classes"));
203				}		
204			}
205			slides[i].append(active[i]);
206			active[i] = false;
207		}
208		
209		function clean(force) {
210			var i,j,layers;
211			for (i in active) {
212				if (typeof i == "string" && i != current && active[i]) {
213					killCaption(i);
214				}
215			}
216		}
217		
218		function setTransition(el) {
219			el = $(el);
220			el.fadeTo(0,0);
221			var left = 0, top = 0;
222			switch (el.attr("data-transition")) {
223			case "flyRight":
224				left = 100;
225				break;
226			case "flyLeft":
227				left = -100;
228				break;
229			case "flyTop":
230				top = -100;
231				break;
232			case "flyBottom":
233				top = 100;
234				break;
235			}
236			if (cssT) {
237				el.transform(1,left,top,w,h);
238			} else {
239				el.css({left:left,top:top});
240			}
241
242		}
243
244		
245		function change(e,data) {
246			var i,j,idx = data.slideIdx-1;
247			if (idx === current) {
248				return;
249			}
250			
251			// detect overlap: current slide was being remove when made active again (caused by fast prev/next)
252			if (active[idx]) {
253				current = -1;
254				// destroy anything with no mercy
255				clean(true);
256			} 
257			
258			var c = slides[idx].find(".peCaption");
259			
260			for (i = 0; i<c.length;i++) {
261				setTransition(c[i]);
262			}
263			
264			c.fadeTo(0,0);
265			target.prepend(c);
266						
267			current = idx;
268			active[idx] = c;
269			
270			resize();
271			
272			for (i in active) {
273				if (typeof i == "string" && i != idx && active[i]) {
274					for (j = 0; j<active[i].length;j++) {
275						fadeOut(active[i][j]);
276					}
277				}
278			}
279			
280			setTimeout(clean,500);
281				
282			for (i = 0; i<c.length;i++) {
283				fadeIn(c[i]);
284			}	
285			
286			active[idx] = c;
287		}
288		
289		function ready(e,data) {
290			slides = data.markup;
291		}
292		
293		// init function
294		function start() {
295			if (conf.slider) {
296				link(conf.slider);
297			}
298		}
299		
300		function link(s) {
301			slider = s;
302			slider.bind("ready.pixelentity",ready);
303			slider.bind("resize.pixelentity",resize);
304			slider.bind("change.pixelentity",change);
305		}
306		
307		$.extend(this, {
308			// plublic API
309			link: link,
310			destroy: function() {
311				target.data("peVoloCaptions", null);
312				target = undefined;
313			}
314		});
315		
316		// initialize
317		start();
318	}
319	
320	// jQuery plugin implementation
321	$.fn.peVoloCaptions = function(conf) {
322		
323		// return existing instance	
324		var api = this.data("peVoloCaptions");
325		
326		if (api) { 
327			return api; 
328		}
329		
330		conf = $.extend(true, {}, $.pixelentity.peVoloCaptions.conf, conf);
331		
332		// install the plugin for each entry in jQuery object
333		this.each(function() {
334			var el = $(this);
335			api = new PeVoloCaptions(el, conf);
336			el.data("peVoloCaptions", api); 
337		});
338		
339		return conf.api ? api: this;		 
340	};
341	
342}(jQuery));

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.