PageSourceSearch

https://www.xeyex.co.uk/js/restart_theme.js

js xeyex.co.uk collected 2026-10-04 13:23:31 UTC 15,142 bytes, 284 lines download raw bytes

1wow = new WOW(
2      {
3        animateClass: 'animated',
4        offset:       100
5      }
6    );
7
8jQuery(document).ready(function() {
9
10
11//PrettyPhoto
12//jQuery("a[rel^='prettyPhoto']").prettyPhoto();
13jQuery("a.prettyPhoto").prettyPhoto();
14jQuery("a[rel^='prettyPhoto']").prettyPhoto();
15	
16
17//Collapsing Header Effect
18
19var header_height = jQuery('header').outerHeight();
20var full_page_photo_height = jQuery('.full_page_photo').outerHeight();
21var total_height = header_height + full_page_photo_height;
22var nav = jQuery('.collapsing_header header');  
23
24    jQuery(window).scroll(function () {
25        if (jQuery(this).scrollTop() > full_page_photo_height) {
26            nav.addClass("absolute");
27	  nav.css( "top", full_page_photo_height ); 
28        } else {
29            nav.removeClass("absolute");
30	  nav.css( "top", "0px" );
31        }
32    });
33    
34var window_top = jQuery(window).scrollTop();
35
36        if (window_top > full_page_photo_height) {
37            nav.addClass("absolute");
38	  nav.css( "top", full_page_photo_height ); 
39        } else {
40            nav.removeClass("absolute");
41	  nav.css( "top", "0px" );
42        }           
43      
44jQuery('.collapsing_header .full_page_photo').css( "top", header_height );    
45jQuery('.collapsing_header .main').css( "top", total_height );    
46
47
48
49
50//------FLEXSLIDER homepage------------------
51
52jQuery('#main_flexslider').flexslider({
53namespace: "flex-",             //{NEW} String: Prefix string attached to the class of every element generated by the plugin
54selector: ".slides > li",       //{NEW} Selector: Must match a simple pattern. '{container} > {slide}' -- Ignore pattern at your own peril
55animation: "slide",              //String: Select your animation type, "fade" or "slide"
56easing: "swing",               //{NEW} String: Determines the easing method used in jQuery transitions. jQuery easing plugin is supported!
57direction: "horizontal",        //String: Select the sliding direction, "horizontal" or "vertical"
58reverse: false,                 //{NEW} Boolean: Reverse the animation direction
59animationLoop: true,             //Boolean: Should the animation loop? If false, directionNav will received "disable" classes at either end
60smoothHeight: false,            //{NEW} Boolean: Allow height of the slider to animate smoothly in horizontal mode
61startAt: 0,                     //Integer: The slide that the slider should start on. Array notation (0 = first slide)
62slideshow: true,                //Boolean: Animate slider automatically
63slideshowSpeed: 10000,           //Integer: Set the speed of the slideshow cycling, in milliseconds
64animationSpeed: 600,            //Integer: Set the speed of animations, in milliseconds
65initDelay: 0,                   //{NEW} Integer: Set an initialization delay, in milliseconds
66randomize: false,               //Boolean: Randomize slide order
67 
68// Usability features
69pauseOnAction: true,            //Boolean: Pause the slideshow when interacting with control elements, highly recommended.
70pauseOnHover: true,            //Boolean: Pause the slideshow when hovering over slider, then resume when no longer hovering
71useCSS: true,                   //{NEW} Boolean: Slider will use CSS3 transitions if available
72touch: true,                    //{NEW} Boolean: Allow touch swipe navigation of the slider on touch-enabled devices
73video: false,                   //{NEW} Boolean: If using video in the slider, will prevent CSS3 3D Transforms to avoid graphical glitches
74 
75// Primary Controls
76controlNav: true,               //Boolean: Create navigation for paging control of each clide? Note: Leave true for manualControls usage
77directionNav: true,             //Boolean: Create navigation for previous/next navigation? (true/false)
78prevText: "Previous",           //String: Set the text for the "previous" directionNav item
79nextText: "Next",               //String: Set the text for the "next" directionNav item
80 
81// Secondary Navigation
82keyboard: true,                 //Boolean: Allow slider navigating via keyboard left/right keys
83multipleKeyboard: false,        //{NEW} Boolean: Allow keyboard navigation to affect multiple sliders. Default behavior cuts out keyboard navigation with more than one slider present.
84mousewheel: false,              //{UPDATED} Boolean: Requires jquery.mousewheel.js (https://github.com/brandonaaron/jquery-mousewheel) - Allows slider navigating via mousewheel
85pausePlay: false,               //Boolean: Create pause/play dynamic element
86pauseText: 'Pause',             //String: Set the text for the "pause" pausePlay item
87playText: 'Play',               //String: Set the text for the "play" pausePlay item
88 
89// Special properties
90controlsContainer: "",          //{UPDATED} Selector: USE CLASS SELECTOR. Declare which container the navigation elements should be appended too. Default container is the FlexSlider element. Example use would be ".flexslider-container". Property is ignored if given element is not found.
91manualControls: "",             //Selector: Declare custom control navigation. Examples would be ".flex-control-nav li" or "#tabs-nav li img", etc. The number of elements in your controlNav should match the number of slides/tabs.
92sync: "",                       //{NEW} Selector: Mirror the actions performed on this slider with another slider. Use with care.
93asNavFor: "",                   //{NEW} Selector: Internal property exposed for turning the slider into a thumbnail navigation for another slider
94 
95// Carousel Options
96itemWidth: 0,                   //{NEW} Integer: Box-model width of individual carousel items, including horizontal borders and padding.
97itemMargin: 0,                  //{NEW} Integer: Margin between carousel items.
98minItems: 0,                    //{NEW} Integer: Minimum number of carousel items that should be visible. Items will resize fluidly when below this.
99maxItems: 0,                    //{NEW} Integer: Maxmimum number of carousel items that should be visible. Items will resize fluidly when above this limit.
100move: 0,                        //{NEW} Integer: Number of carousel items that should move on animation. If 0, slider will move all visible items.
101 
102// Callback API
103start: function(){
104	jQuery('.flex-active-slide .container .carousel-caption').addClass('show')
105	},            //Callback: function(slider) - Fires when the slider loads the first slide
106before: function(){
107	jQuery('.flex-active-slide .container .carousel-caption').removeClass('show')
108	},           //Callback: function(slider) - Fires asynchronously with each slider animation
109after: function(slider){
110	jQuery('.flex-active-slide .container .carousel-caption').addClass('show')
111	},            //Callback: function(slider) - Fires after each slider animation completes
112end: function(){},              //Callback: function(slider) - Fires when the slider reaches the last slide (asynchronous)
113added: function(){},            //{NEW} Callback: function(slider) - Fires after a slide is added
114removed: function(){}           //{NEW} Callback: function(slider) - Fires after a slide is removed
115
116	});
117
118//----------------Portfolio Flexslider with carousel-------------------------
119
120jQuery('#carousel').flexslider({
121    animation: "slide",
122    controlNav: false,
123    animationLoop: false,
124    slideshow: false,
125    itemWidth: 210,
126    itemMargin: 10,
127    asNavFor: '#portfolio_slider'
128  });	
129	
130jQuery('#portfolio_slider').flexslider({
131namespace: "flex-",             //{NEW} String: Prefix string attached to the class of every element generated by the plugin
132selector: ".slides > li",       //{NEW} Selector: Must match a simple pattern. '{container} > {slide}' -- Ignore pattern at your own peril
133animation: "slide",              //String: Select your animation type, "fade" or "slide"
134easing: "swing",               //{NEW} String: Determines the easing method used in jQuery transitions. jQuery easing plugin is supported!
135direction: "horizontal",        //String: Select the sliding direction, "horizontal" or "vertical"
136reverse: false,                 //{NEW} Boolean: Reverse the animation direction
137animationLoop: true,             //Boolean: Should the animation loop? If false, directionNav will received "disable" classes at either end
138smoothHeight: false,            //{NEW} Boolean: Allow height of the slider to animate smoothly in horizontal mode
139startAt: 0,                     //Integer: The slide that the slider should start on. Array notation (0 = first slide)
140slideshow: false,                //Boolean: Animate slider automatically
141slideshowSpeed: 7000,           //Integer: Set the speed of the slideshow cycling, in milliseconds
142animationSpeed: 600,            //Integer: Set the speed of animations, in milliseconds
143initDelay: 0,                   //{NEW} Integer: Set an initialization delay, in milliseconds
144randomize: false,               //Boolean: Randomize slide order
145 
146// Usability features
147pauseOnAction: true,            //Boolean: Pause the slideshow when interacting with control elements, highly recommended.
148pauseOnHover: false,            //Boolean: Pause the slideshow when hovering over slider, then resume when no longer hovering
149useCSS: true,                   //{NEW} Boolean: Slider will use CSS3 transitions if available
150touch: true,                    //{NEW} Boolean: Allow touch swipe navigation of the slider on touch-enabled devices
151video: false,                   //{NEW} Boolean: If using video in the slider, will prevent CSS3 3D Transforms to avoid graphical glitches
152 
153// Primary Controls
154controlNav: true,               //Boolean: Create navigation for paging control of each clide? Note: Leave true for manualControls usage
155directionNav: true,             //Boolean: Create navigation for previous/next navigation? (true/false)
156prevText: "Previous",           //String: Set the text for the "previous" directionNav item
157nextText: "Next",               //String: Set the text for the "next" directionNav item
158 
159// Secondary Navigation
160keyboard: true,                 //Boolean: Allow slider navigating via keyboard left/right keys
161multipleKeyboard: false,        //{NEW} Boolean: Allow keyboard navigation to affect multiple sliders. Default behavior cuts out keyboard navigation with more than one slider present.
162mousewheel: false,              //{UPDATED} Boolean: Requires jquery.mousewheel.js (https://github.com/brandonaaron/jquery-mousewheel) - Allows slider navigating via mousewheel
163pausePlay: false,               //Boolean: Create pause/play dynamic element
164pauseText: 'Pause',             //String: Set the text for the "pause" pausePlay item
165playText: 'Play',               //String: Set the text for the "play" pausePlay item
166 
167// Special properties
168controlsContainer: "",          //{UPDATED} Selector: USE CLASS SELECTOR. Declare which container the navigation elements should be appended too. Default container is the FlexSlider element. Example use would be ".flexslider-container". Property is ignored if given element is not found.
169manualControls: "",             //Selector: Declare custom control navigation. Examples would be ".flex-control-nav li" or "#tabs-nav li img", etc. The number of elements in your controlNav should match the number of slides/tabs.
170sync: "",                       //{NEW} Selector: Mirror the actions performed on this slider with another slider. Use with care.
171asNavFor: "",                   //{NEW} Selector: Internal property exposed for turning the slider into a thumbnail navigation for another slider
172 
173// Carousel Options
174itemWidth: 0,                   //{NEW} Integer: Box-model width of individual carousel items, including horizontal borders and padding.
175itemMargin: 0,                  //{NEW} Integer: Margin between carousel items.
176minItems: 0,                    //{NEW} Integer: Minimum number of carousel items that should be visible. Items will resize fluidly when below this.
177maxItems: 0,                    //{NEW} Integer: Maxmimum number of carousel items that should be visible. Items will resize fluidly when above this limit.
178move: 0,                        //{NEW} Integer: Number of carousel items that should move on animation. If 0, slider will move all visible items.
179 
180// Callback API
181start: function(){
182	jQuery('.flex-active-slide .container .carousel-caption').addClass('show')
183	},            //Callback: function(slider) - Fires when the slider loads the first slide
184before: function(){
185	jQuery('.flex-active-slide .container .carousel-caption').removeClass('show')
186	},           //Callback: function(slider) - Fires asynchronously with each slider animation
187after: function(slider){
188	jQuery('.flex-active-slide .container .carousel-caption').addClass('show')
189	},            //Callback: function(slider) - Fires after each slider animation completes
190end: function(){},              //Callback: function(slider) - Fires when the slider reaches the last slide (asynchronous)
191added: function(){},            //{NEW} Callback: function(slider) - Fires after a slide is added
192removed: function(){}           //{NEW} Callback: function(slider) - Fires after a slide is removed
193
194  	});
195
196
197
198//UI to Top
199jQuery().UItoTop({ easingType: 'easeOutQuart' });
200
201
202
203	
204
205if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1) {
206    // Yep, it's Safari =)
207jQuery('.portfolio_item figcaption p').addClass('safari');
208}else {
209    // Nope, it's another browser =(
210}
211
212
213
214
215
216	   
217});
218
219
220jQuery(window).load(function(){
221		    
222	//ISOTOPE
223	// cache container
224	var container = jQuery('.isotope_portfolio_container');
225	// initialize isotope
226	container.isotope({
227	});
228	jQuery('.portfolio_filters a[data-filter="*"]').addClass('active');
229	// filter items when filter link is clicked
230	jQuery('.portfolio_filters a').click(function(){
231	  jQuery('.portfolio_filters a').removeClass('active');
232	  jQuery(this).addClass('active');
233	  var selector = jQuery(this).attr('data-filter');
234	  container.isotope({ filter: selector });
235	  return false;
236	});
237	
238	
239	//WOW
240	wow.init();
241	
242			
243});
244
245
246jQuery(window).resize(function() {
247		      
248//ISOTOPE Again, in order to fix the resizing bug
249var container = jQuery('.isotope_portfolio_container');
250container.isotope({ });
251
252});
253
254
255
256
257
258(function() {
259	
260				function init() {
261					var speed = 330,
262						easing = mina.backout;
263
264					[].slice.call ( document.querySelectorAll( '.portfolio_item > a' ) ).forEach( function( el ) {
265						var s = Snap( el.querySelector( 'svg' ) ), path = s.select( 'path' ),
266							pathConfig = {
267								from : path.attr( 'd' ),
268								to : el.getAttribute( 'data-path-hover' )
269							};
270
271						el.addEventListener( 'mouseenter', function() {
272							path.animate( { 'path' : pathConfig.to }, speed, easing );
273						} );
274
275						el.addEventListener( 'mouseleave', function() {
276							path.animate( { 'path' : pathConfig.from }, speed, easing );
277						} );
278					} );
279				}
280
281				init();
282
283			})();
284

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.