1(function($) 2{ 3 "use strict"; 4 5 $( function() 6 { 7 // decreases header size when user scrolls down 8 avia_header_size(); 9 }); 10 11 12 function av_change_class($element, change_method, class_name) 13 { 14 if($element[0].classList) 15 { 16 if(change_method == "add") 17 { 18 $element[0].classList.add(class_name); 19 } 20 else 21 { 22 $element[0].classList.remove(class_name); 23 } 24 } 25 else 26 { 27 if(change_method == "add") 28 { 29 $element.addClass(class_name); 30 } 31 else 32 { 33 $element.removeClass(class_name); 34 } 35 } 36 } 37 38 39 function avia_header_size() 40 { 41 var win = $(window), 42 header = $('.html_header_top.html_header_sticky #header'), 43 unsticktop = $('.av_header_unstick_top'); 44 45 if( ! header.length && ! unsticktop.length ) 46 { 47 return; 48 } 49 50 var logo = $('#header_main .container .logo img, #header_main .container .logo svg, #header_main .container .logo a'), 51 elements = $('#header_main .container:not(#header_main_alternate>.container), #header_main .main_menu ul:first-child > li > a:not(.avia_mega_div a, #header_main_alternate a), #header_main #menu-item-shop .cart_dropdown_link'), 52 el_height = $(elements).first().height(), 53 isMobile = $.avia_utilities.isMobile, 54 scroll_top = $('#scroll-top-link'), 55 transparent = header.is('.av_header_transparency'), 56 shrinking = header.is('.av_header_shrinking'), 57 shrink_factor = header.data( 'av_shrink_factor' ), 58 shrink_val = el_height/2.0, 59 el_shrinked = el_height/2.0, 60 header_meta = header.find('#header_meta'), 61 topbar_height = header_meta.length ? header_meta.outerHeight() : 0, 62 header_alternate = header.find('#header_main_alternate'), 63 alternate_header_height = header_alternate.length ? header_alternate.outerHeight() : 0, 64 65 set_height = function() 66 { 67 var st = win.scrollTop(), 68 newH = 0, 69 st_real = st; 70 71 if( unsticktop ) 72 { 73 st -= topbar_height; 74 } 75 76 if( st < 0 ) 77 { 78 st = 0; 79 } 80 81 if( shrinking && ! isMobile ) 82 { 83 if( st < shrink_val ) 84 { 85 newH = el_height - st; 86 if( st <= 0 ) 87 { 88 newH = el_height; 89 } 90 91 av_change_class( header, 'remove', 'header-scrolled' ); 92 //header.removeClass('header-scrolled'); 93 } 94 else 95 { 96 newH = el_shrinked; 97 //header.addClass('header-scrolled'); 98 av_change_class( header, 'add', 'header-scrolled' ); 99 } 100 101 if( st - 30 < el_height ) 102 { 103 av_change_class( header, 'remove', 'header-scrolled-full' ); 104 } 105 else 106 { 107 av_change_class( header, 'add', 'header-scrolled-full' ); 108 } 109 110 elements.css({'height': newH + 'px', 'lineHeight': newH + 'px'}); 111 logo.css({'maxHeight': newH + 'px'}); 112 113 // (solution contributed by Guenni007) 114 let propHeight = newH + alternate_header_height; 115 116 if( header.length ) 117 { 118 if( ! unsticktop.length ) 119 { 120 propHeight += topbar_height; 121 } 122 else 123 { 124 if( st <= topbar_height ) 125 { 126 propHeight = propHeight + topbar_height - st_real; 127 } 128 } 129 } 130 131 $(':root')[0].style.setProperty( '--enfold-header-height', Math.round( propHeight ) + 'px' ); 132 } 133 134 if( unsticktop.length ) 135 { 136 if( st <= 0 ) 137 { 138 if( st_real <= 0 ) 139 { 140 st_real = 0; 141 } 142 143 unsticktop.css({"margin-top":"-"+st_real+"px"}); 144 } 145 else 146 { 147 unsticktop.css({"margin-top":"-"+topbar_height+"px"}); 148 } 149 } 150 151 if( transparent ) 152 { 153 if( st > 50 ) 154 { 155 //header.removeClass('av_header_transparency'); 156 av_change_class( header, 'remove', 'av_header_transparency' ); 157 } 158 else 159 { 160 //header.addClass('av_header_transparency'); 161 av_change_class( header, 'add', 'av_header_transparency' ); 162 } 163 } 164 }; 165 166 if( typeof shrink_factor != 'undefined' ) 167 { 168 const value = parseInt( shrink_factor ); 169 if( ! isNaN( value ) ) 170 { 171 shrink_val = el_height * ( value / 100.0 ); 172 el_shrinked = el_height - shrink_val; 173 } 174 } 175 176 if( $('body').is( '.avia_deactivate_menu_resize' ) ) 177 { 178 shrinking = false;
179 } 180 181 if( ! transparent && ! shrinking && ! unsticktop.length ) 182 { 183 return; 184 } 185 186 win.on( 'debouncedresize', function() 187 { 188 el_height = $( elements ).attr( 'style',"" ).first().height(); 189 set_height(); 190 }); 191 192 win.on( 'scroll', function() 193 { 194 window.requestAnimationFrame( set_height ); 195 }); 196 197 set_height(); 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.