PageSourceSearch

https://parisandco.fr/wp-content/themes/estato/js/dir.hover.js?ver=6.8.10

js parisandco.fr collected 2026-10-04 13:26:31 UTC 6,474 bytes, 199 lines download raw bytes

1'use strict';
2
3(function( $ ) {
4
5$( document ).ready(function() {
6
7	// direction detection
8
9	var getHoverDir = function( $element, x, y ) {
10		//console.log( x + ", " + y );
11		var w = $element.width(),
12			h = $element.height(),
13			x = ( x - $element.offset().left - ( w/2 )) * ( w > h ? ( h/w ) : 1 ),
14			y = ( y - $element.offset().top  - ( h/2 )) * ( h > w ? ( w/h ) : 1 ),
15			direction = Math.round( ( ( ( Math.atan2(y, x) * (180 / Math.PI) ) + 180 ) / 90 ) + 3 ) % 4;
16		return direction;
17	}
18
19	var boldthemes_selected_gridItemEnter;
20	var boldthemes_selected_gridItemLeave;
21
22
23	function initTilesGridHover () {
24
25		$( '.btPageWrap' ).on( 'mouseenter', '.bpgPhoto', function( event ) {
26			boldthemes_selected_gridItemEnter = $( this );
27			boldthemes_selected_gridItemEnter.removeClass( "in-top in-left in-right in-bottom out-top out-left out-right out-bottom" ) ;
28			var dir = getHoverDir( $( this ), event.pageX, event.pageY );
29			boldthemes_selected_gridItemEnter.css({transition: 'none;'});
30			if ( typeof boldthemes_selected_gridItemEnter !== 'undefined' ) {
31				switch(dir) {
32					case 0:
33						boldthemes_selected_gridItemEnter.addClass('in-top');
34						break;
35					case 1:
36						boldthemes_selected_gridItemEnter.addClass('in-right');
37						break;
38					case 2:
39						boldthemes_selected_gridItemEnter.addClass('in-bottom');
40						break;
41					case 3:
42						boldthemes_selected_gridItemEnter.addClass('in-left');
43						break;
44					default:
45						boldthemes_selected_gridItemEnter.addClass('in-top');
46						break;
47				}
48			}
49		});
50
51		$( '.btPageWrap' ).on( 'mouseleave', '.bpgPhoto', function( event ) {
52			boldthemes_selected_gridItemLeave = $( this );
53			var dir = getHoverDir( $( this ), event.pageX, event.pageY );
54			boldthemes_selected_gridItemLeave.removeClass( "in-top in-left in-right in-bottom out-top out-left out-right out-bottom" );
55			if ( typeof boldthemes_selected_gridItemEnter !== 'undefined' ) {
56				switch(dir) {
57					case 0:
58						boldthemes_selected_gridItemEnter.addClass('out-top');
59						break;
60					case 1:
61						boldthemes_selected_gridItemEnter.addClass('out-right');
62						break;
63					case 2:
64						boldthemes_selected_gridItemEnter.addClass('out-bottom');
65						break;
66					case 3:
67						boldthemes_selected_gridItemEnter.addClass('out-left');
68						break;
69					default:
70						boldthemes_selected_gridItemEnter.addClass('out-top');
71						break;
72				}
73			}
74		});
75
76	}
77
78	function initTilesGridHoverOld () {
79		
80		$( '.btPageWrap' ).on( 'mouseenter', '.bpgPhoto', function( event ) {
81			
82			$( '.bpgPhoto' ).removeClass( 'selectedGridItem' );
83			boldthemes_selected_gridItemEnter = $( this );
84			dir = getHoverDir( $( this ), event.pageX, event.pageY );
85			boldthemes_selected_gridItemEnter.find( '.captionPane' ).css({transition: 'none;'});
86
87			//console.log (dir);
88			
89			switch(dir) {
90				case 0:
91					boldthemes_selected_gridItemEnter.find( '.captionPane' ).css({
92						transition: 'none', 
93						transform: 'translateY(-100%) translateX(0)',
94						MozTransform: 'translateY(-100%) translateX(0)',
95						WebkitTransform: 'translateY(-100%) translateX(0)',
96						msTransform: 'translateY(-100%) translateX(0)'
97					});
98					break;
99				case 1:
100					boldthemes_selected_gridItemEnter.find( '.captionPane' ).css({
101						transition: 'none', 
102						transform: 'translateX(100%) translateY(0)',
103						MozTransform: 'translateX(100%) translateY(0)',
104						WebkitTransform: 'translateX(100%) translateY(0)',
105						msTransform: 'translateX(100%) translateY(0)'
106					});
107					break;
108				case 2:
109					boldthemes_selected_gridItemEnter.find( '.captionPane' ).css({
110						transition: 'none', 
111						transform: 'translateY(100%) translateX(0)',
112						MozTransform: 'translateY(100%) translateX(0)',
113						WebkitTransform: 'translateY(100%) translateX(0)',
114						msTransform: 'translateY(100%) translateX(0)'
115					});
116					break;
117				case 3:
118					boldthemes_selected_gridItemEnter.find( '.captionPane' ).css({
119						transition: 'none', 
120						transform: 'translateX(-100%) translateY(0)',
121						MozTransform: 'translateX(-100%) translateY(0)',
122						WebkitTransform: 'translateX(-100%) translateY(0)',
123						msTransform: 'translateX(-100%) translateY(0)'
124					});
125					break;
126				default:
127					// boldthemes_selected_gridItemEnter.find( ".captionPane" ).css({transform: 'translateY(-100%)'});	
128					break;
129			}
130
131			boldthemes_selected_gridItemEnter.addClass( 'selectedGridItem' );
132
133			setTimeout(function() {
134				boldthemes_selected_gridItemEnter.find( '.captionPane' ).css({
135					transition: 'all 300ms ease', 
136					transform: 'translateX(0) translateY(0)',
137					MozTransform: 'translateX(0) translateY(0)',
138					WebkitTransform: 'translateX(0) translateY(0)',
139					msTransform: 'translateX(0) translateY(0)'
140				});
141			}, 20 );
142			
143		});
144
145		$( '.btPageWrap' ).on( 'mouseleave', '.bpgPhoto', function( event ) {
146			boldthemes_selected_gridItemLeave = $( this );
147			dir = getHoverDir( $( this ), event.pageX, event.pageY );
148			$( '.bpgPhoto' ).removeClass( 'selectedGridItem' );
149			switch(dir) {
150				case 0:
151					boldthemes_selected_gridItemLeave.find( '.captionPane' ).css({
152						transform: 'translateY(-100%) translateX(0)',
153						MozTransform: 'translateY(-100%) translateX(0)',
154						WebkitTransform: 'translateY(-100%) translateX(0)',
155						msTransform: 'translateY(-100%) translateX(0)'
156					});
157					break;
158				case 1:
159					boldthemes_selected_gridItemLeave.find( '.captionPane' ).css({
160						transform: 'translateX(100%) translateY(0)',
161						MozTransform: 'translateX(100%) translateY(0)',
162						WebkitTransform: 'translateX(100%) translateY(0)',
163						msTransform: 'translateX(100%) translateY(0)'
164					});
165					break;
166				case 2:
167					boldthemes_selected_gridItemLeave.find( '.captionPane' ).css({
168						transform: 'translateY(100%) translateX(0)',
169						MozTransform: 'translateY(100%) translateX(0)',
170						WebkitTransform: 'translateY(100%) translateX(0)',
171						msTransform: 'translateY(100%) translateX(0)'
172					});
173					break;
174				case 3:
175					boldthemes_selected_gridItemLeave.find( '.captionPane' ).css({
176						transform: 'translateX(-100%) translateY(0)',
177						MozTransform: 'translateX(-100%) translateY(0)',
178						WebkitTransform: 'translateX(-100%) translateY(0)',
179						msTransform: 'translateX(-100%) translateY(0)'
180					});
181					break;
182				default:
183					boldthemes_selected_gridItemLeave.find( '.captionPane' ).css({transform: 'translateY(-100%)'}); 
184					break;
185			}			
186	
187		});
188
189	}
190
191
192
193	initTilesGridHover ();
194
195
196
197});
198
199})( 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.