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