PageSourceSearch

https://yourclaim.ax-uk.com/Scripts/jquery.slick.menu.2.1.js

js ax-uk.com collected 2026-09-30 16:54:08 UTC 7,089 bytes, 233 lines download raw bytes

1/*
2 * DC jQuery Slick - jQuery Slick
3 * Copyright (c) 2011 Design Chemical
4 * 	http://www.designchemical.com
5 *
6 * Dual licensed under the MIT and GPL licenses:
7 * 	http://www.opensource.org/licenses/mit-license.php
8 * 	http://www.gnu.org/licenses/gpl.html
9 *
10 */
11
12(function($){
13
14	//define the new for the plugin ans how to call it
15	$.fn.dcSlick = function(options) {
16
17		//set default options
18		var defaults = {
19			classWrapper: 'dc-slick',
20			classContent: 'dc-slick-content cookie-prompt',
21			idWrapper: 'dc-slick-'+$(this).index(),
22			location: 'left',
23			align: 'top',
24			offset: '100px',
25			speed: 'slow',
26			tabText: '',
27			classTab: 'tab',
28			classOpen: 'slick-open',
29			classClose: 'slick-close',
30			classToggle: 'slick-toggle',
31			autoClose: true,
32			loadOpen: false,
33			onLoad : function() {},
34            beforeOpen : function() {},
35			beforeClose: function() {}
36		};
37
38		//call in the default otions
39		var options = $.extend(defaults, options);
40		var $dcSlickObj = this;
41		//act upon the element that is passed into the design
42		return $dcSlickObj.each(function(options){
43
44			// declare variables
45			var clWrap = defaults.classWrapper;
46			
47			var slickHtml = $dcSlickObj.html();
48			$dcSlickObj.css('float','left');
49			var objWidth = $dcSlickObj.width();
50			$dcSlickObj.empty();
51			var slickTab = '<div class="'+defaults.classTab+'"><span>'+defaults.tabText+'</span></div>';
52			$(this).hide();
53			var idWrapper = defaults.idWrapper;
54			var slider = '<div id="'+idWrapper+'" class="'+clWrap+'">'+slickTab+'<div class="'+defaults.classContent+'">'+slickHtml+'</div></div>';
55			$('body').append(slider);
56			var $slider = $('#'+idWrapper);
57			var $tab = $('.'+defaults.classTab,$slider);
58			$tab.css({position: 'absolute'});
59			var linkOpen = $('.'+defaults.classOpen);
60			var linkClose = $('.'+defaults.classClose);
61			var linkToggle = $('.'+defaults.classToggle);
62			
63			// Get container dimensions
64			var height = $slider.height();
65			$slider.css('float','left');
66			var outerW = $slider.outerWidth();
67			var widthPx = outerW+'px';
68			$slider.css('float','none');
69			var outerH = $slider.outerHeight();
70			var padH = outerH - height;
71			var heightPx = outerH+'px';
72			var bodyHeight = $(window).height();
73			
74			slickSetup($slider);
75			
76			if(defaults.autoClose == true){
77				$('body').mouseup(function(e){
78					if($slider.hasClass('active')){
79						if(!$(e.target).parents('#'+defaults.idWrapper).length){
80							if(!($(e.target).hasClass(defaults.classOpen) || $(e.target).hasClass(defaults.classToggle))){
81								slickClose();
82							}
83						}
84					}
85				});
86			}
87			
88			$tab.click(function(){
89				if($slider.hasClass('active')){
90					slickClose();
91				} else {
92					slickOpen();
93				}
94			});
95			
96			$(linkOpen).click(function(e){
97				slickOpen();
98				e.preventDefault();
99			});
100			
101			$(linkClose).click(function(e){
102				if($slider.hasClass('active')){
103					slickClose();
104				}
105				e.preventDefault();
106			});
107			
108			$(linkToggle).click(function(e){
109				if($slider.hasClass('active')){
110					slickClose();
111				} else {
112					slickOpen();
113				}
114				e.preventDefault();
115			});
116			
117			if(defaults.loadOpen == true){
118				slickOpen();
119			}
120	
121			function slickOpen(){
122			
123				$('.'+clWrap).css({zIndex: 10000});
124				$slider.css({zIndex: 10001});
125				if(defaults.location == 'bottom'){
126					$slider.animate({marginBottom: "-=5px"}, "fast").animate({marginBottom: 0}, defaults.speed);
127				}
128				if(defaults.location == 'top'){
129					$slider.animate({marginTop: "-=5px"}, "fast").animate({marginTop: 0}, defaults.speed);
130				}
131				if(defaults.location == 'left'){
132					$slider.animate({marginLeft: "-=5px"}, "fast").animate({marginLeft: 0}, defaults.speed);
133				}
134				if(defaults.location == 'right'){
135					$slider.animate({marginRight: "-=5px"}, "fast").animate({marginRight: 0}, defaults.speed);
136				}
137				$slider.addClass('active');
138				
139				// onOpen callback;
140				defaults.beforeOpen.call(this);
141			}
142			
143			function slickClose(){
144			
145			$slider.css({zIndex: 10000});
146			if($slider.hasClass('active')){
147				var params = {"marginBottom": "-"+heightPx};
148				switch (defaults.location) {
149					case 'top': 
150					params = {"marginTop": "-"+heightPx};
151					break;
152					case 'left':
153					params = {"marginLeft": "-"+widthPx};					
154					break;
155					case 'right': 
156					params = {"marginRight": "-"+widthPx};
157					break;
158				}
159				$slider.removeClass('active').animate(params, defaults.speed);
160			}
161			// onClose callback;
162			defaults.beforeClose.call(this);
163			}
164			
165			function slickSetup(obj){
166				
167				var $container = $('.'+defaults.classContent,obj);
168				$(obj).addClass(defaults.location).addClass('align-'+defaults.align).css({position: 'fixed', zIndex: 10000});
169				// Get slider border
170				var bdrTop = $slider.css('border-top-width');
171				var bdrRight = $slider.css('border-right-width');
172				var bdrBottom = $slider.css('border-bottom-width');
173				var bdrLeft = $slider.css('border-left-width');
174				// Get tab dimension
175				var $tab = $('.'+defaults.classTab,$slider);
176				var tabWidth = $tab.outerWidth(true);
177				var tabWidthPx = tabWidth+'px';
178				var tabHeight = $tab.outerHeight(true);
179				var tabHeightPx = tabHeight+'px';
180				// Calc max container dimensions
181				var containerH = $container.height();
182				var containerPad = $container.outerHeight(true)-containerH;
183				var maxHeight = bodyHeight - tabHeight;
184				
185				if(outerH > maxHeight){
186					containerH = maxHeight - padH - containerPad;
187					heightPx = maxHeight+'px';
188				}
189				$container.css({height: containerH+'px'});
190				
191				// Default params for location 'left'
192				var params = {marginLeft: '-'+widthPx, top: defaults.offset};
193				var paramsTab = {marginRight: '-'+tabWidthPx}
194				
195				if(defaults.location == 'right'){
196					params = {marginRight: '-'+widthPx, top: defaults.offset};
197					paramsTab = {marginLeft: '-'+tabWidthPx};
198				}
199				
200				if(defaults.location == 'top'){
201					params = {marginTop: '-'+heightPx};
202					paramsTab = {marginBottom: '-'+tabHeightPx};
203					
204					if(defaults.align == 'left'){
205						params = {marginTop: '-'+heightPx, left: defaults.offset};
206						paramsTab = {marginBottom: '-'+tabHeightPx, left: 0};
207					} else {
208						params = {marginTop: '-'+heightPx, right: defaults.offset};
209						paramsTab = {marginBottom: '-'+tabHeightPx, right: 0};
210					}
211				}
212				
213				if(defaults.location == 'bottom'){
214					params = {marginBottom: '-'+heightPx};
215					paramsTab = {marginTop: '-'+tabHeightPx};
216					
217					if(defaults.align == 'left'){
218						params = {marginBottom: '-'+heightPx, left: defaults.offset};
219						paramsTab = {marginTop: '-'+tabHeightPx, left: 0};
220					} else {
221						params = {marginBottom: '-'+heightPx, right: defaults.offset};
222						paramsTab = {marginTop: '-'+tabHeightPx, right: 0};
223					}
224				}
225				$(obj).css(params);
226				$tab.css(paramsTab);
227				// onLoad callback;
228				defaults.onLoad.call(this);
229			}
230
231		});
232	};
233})(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.