PageSourceSearch

https://data.gov.om/Js/jQuery/extensions/jquery.slideviewer.js

js data.gov.om collected 2026-09-24 23:01:12 UTC 7,249 bytes, 191 lines download raw bytes

1/*!
2* slideViewer 1.2
3* Examples and documentation at: 
4* http://www.gcmingati.net/wordpress/wp-content/lab/jquery/imagestrip/imageslide-plugin.html
5* 2007-2010 Gian Carlo Mingati
6* Version: 1.2.3 (9-JULY-2010)
7* Dual licensed under the MIT and GPL licenses:
8* http://www.opensource.org/licenses/mit-license.php
9* http://www.gnu.org/licenses/gpl.html
10* 
11* Requires:
12* jQuery v1.4.1 or later
13* 
14*
15* Changed by: me @ 10/3/2011
16*
17*/
18(function ($) {
19	var j = 0;
20	var quantofamo = 0;
21	$.fn.slideView = function (settings) {
22		settings = $.extend({
23			easeFunc: "easeInOutExpo",
24			easeTime: 750,
25			leftMargin: 60,
26			itemsInARow: 4
27		}, settings);
28		return this.each(function () {
29			var $container = $(this);
30			var $list = $container.find("ul");
31			$container.addClass("stripViewer");
32			var pictWidth = $container.find("li").width();
33			var pictEls = $container.find("li").length;
34			var stripViewerWidth = settings.fromPresentation ? (pictWidth * pictEls) + (pictEls * settings.leftMargin) : pictWidth * pictEls + (pictEls - 1) * settings.leftMargin;
35			$list.css("width", stripViewerWidth);
36
37			var currentPos = 0;
38			var leftButton;
39			var rightButton;
40
41			var frames = Math.floor(pictEls / (settings.itemsInARow - 1));
42			if (pictEls % (settings.itemsInARow - 1) > 1)
43				frames++;
44			var modulo = pictEls % (settings.itemsInARow - 1)
45			var currentFrame = 1;
46			var $span = $container.parent("div").find("div.scroller span");
47			$span.text(currentFrame + " / " + frames);
48
49			if (pictEls > settings.itemsInARow)
50				$container.parent("div").hover(function () {
51					$container.parent("div").find("div.scroller").show();
52				}, function () {
53					$container.parent("div").find("div.scroller").hide();
54				});
55
56			var tail = false;
57			var head = true;
58			var isRightToLeft = $("html").prop("dir") == "rtl";
59			if (settings.fromPresentation) {
60				leftButton = isRightToLeft ? $container.next("div").find("a") : $container.prev("div").find("a");
61				rightButton = isRightToLeft ? $container.prev("div").find("a") : $container.next("div").find("a");
62				currentPos = settings.currentPos ? settings.currentPos : 0;
63				currentFrame = settings.currentFrame ? settings.currentFrame == 0 ? currentFrame : settings.currentFrame : currentFrame;
64				if (currentFrame == 1) {
65					head = true;
66					tail = false;
67				}
68				else if (currentFrame >= frames) {
69					tail = true
70					head = false;
71				}
72				else {
73					tail = false;
74					head = false;
75				}
76
77				if (settings.changePos) {
78					if (isRightToLeft)
79						$list.animate({ right: currentPos }, settings.easeTime, settings.easeFunc);
80					else
81						$list.animate({ left: currentPos }, settings.easeTime, settings.easeFunc);
82
83					currentFrame = frames;
84					tail = true;
85				}
86			}
87			else {
88				leftButton = $container.parent("div").find("img.left");
89				rightButton = $container.parent("div").find("img.right");
90			}
91
92			var afterChange = function () {
93				$(this).trigger("change");
94			};
95
96			leftButton.clickOrEnter(function () {
97				if (head) {
98					currentFrame = frames;
99					tail = true;
100					head = false;
101					currentPos = (pictWidth + settings.leftMargin) * (settings.itemsInARow);
102					if (isRightToLeft)
103						$list.animate({ right: currentPos }, settings.easeTime, settings.easeFunc, function () {
104							currentPos = (modulo == 0 ? settings.itemsInARow - 1 : (settings.fromPresentation && modulo == 1) ? settings.itemsInARow : modulo) * (pictWidth + settings.leftMargin) - (settings.fromPresentation ? 0 : settings.leftMargin);
105							$list.css("right", -($list.width() + settings.leftMargin) + "px");
106							currentPos -= $list.width();
107							$list.animate({ right: currentPos }, settings.easeTime, settings.easeFunc, afterChange);
108							$(this).trigger("SliderState", [currentFrame, currentPos]);
109						});
110					else
111						$list.animate({ left: currentPos }, settings.easeTime, settings.easeFunc, function () {
112							currentPos = (modulo == 0 ? settings.itemsInARow - 1 : (settings.fromPresentation && modulo == 1) ? settings.itemsInARow : modulo) * (pictWidth + settings.leftMargin) - (settings.fromPresentation ? 0 : settings.leftMargin);
113							$list.css("left", -($list.width() + settings.leftMargin) + "px");
114							currentPos -= $list.width();
115							$list.animate({ left: currentPos }, settings.easeTime, settings.easeFunc, afterChange);
116							$(this).trigger("SliderState", [currentFrame, currentPos]);
117						});
118				}
119				else {
120					tail = false;
121					currentFrame--;
122					currentPos += (pictWidth + settings.leftMargin) * (settings.itemsInARow - 1);
123					if (settings.fromPresentation && currentFrame == 1)
124						currentPos = 0;
125
126					if (isRightToLeft)
127						$list.animate({ right: currentPos }, settings.easeTime, settings.easeFunc, afterChange);
128					else
129						$list.animate({ left: currentPos }, settings.easeTime, settings.easeFunc, afterChange);
130					if (currentFrame == 1) {
131						head = true;
132					}
133				}
134
135				if (settings.fromPresentation) {
136					if (!tail)
137						$(this).trigger("SliderState", [currentFrame, currentPos]);
138				}
139				else
140					$span.text(currentFrame + " / " + frames);
141
142				return false;
143			});
144
145			rightButton.clickOrEnter(function () {
146				if (tail) {
147					currentFrame = 1;
148					tail = false;
149					head = true;
150					if (isRightToLeft)
151						$list.animate({ right: -($list.width() + 15) }, settings.easeTime, settings.easeFunc, function () {
152							currentPos = (modulo == 0 ? settings.itemsInARow - 1 : (settings.fromPresentation && modulo == 1) ? settings.itemsInARow : modulo) * (pictWidth + settings.leftMargin) - (settings.fromPresentation ? 0 : settings.leftMargin);
153							$list.css("right", currentPos + "px");
154							$list.animate({ right: 0 }, settings.easeTime, settings.easeFunc, afterChange);
155							currentPos = 0;
156							$(this).trigger("SliderState", [currentFrame, currentPos]);
157						});
158					else
159						$list.animate({ left: -($list.width() + 15) }, settings.easeTime, settings.easeFunc, function () {
160							currentPos = (modulo == 0 ? settings.itemsInARow - 1 : (settings.fromPresentation && modulo == 1) ? settings.itemsInARow : modulo) * (pictWidth + settings.leftMargin) - (settings.fromPresentation ? 0 : settings.leftMargin);
161							$list.css("left", currentPos + "px");
162							$list.animate({ left: 0 }, settings.easeTime, settings.easeFunc, afterChange);
163							currentPos = 0;
164							$(this).trigger("SliderState", [currentFrame, currentPos]);
165						});
166				}
167				else {
168					head = false;
169					currentFrame++;
170					if (currentFrame == frames) {
171						tail = true;
172					}
173					currentPos -= (pictWidth + settings.leftMargin) * (settings.itemsInARow - 1);
174					if (isRightToLeft)
175						$list.animate({ right: currentPos }, settings.easeTime, settings.easeFunc, afterChange);
176					else
177						$list.animate({ left: currentPos }, settings.easeTime, settings.easeFunc, afterChange);
178				}
179
180				if (settings.fromPresentation) {
181					if (!head)
182						$(this).trigger("SliderState", [currentFrame, currentPos]);
183				}
184				else
185					$span.text(currentFrame + " / " + frames);
186
187				return false;
188			});
189		});
190	};
191})(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.