1(function ($) { 2 3 var isHeaderCartRelated = function ($target, $cart, $cart_button) { 4 var isMenuButtoRelated = $.contains($cart_button[0], $target[0]) || $target.is($cart_button); 5 var isCartContentRelated = $.contains($cart[0], $target[0]) || $target.is($cart); 6 7 return isMenuButtoRelated || isCartContentRelated 8 }; 9 10 11 var addCloseCartBind = function ($cart, $cart_button, $menu) { 12 $('body').on('mouseover.ope-wooo', function () { 13 var $target = $(event.target); 14 var related = isHeaderCartRelated($target, $cart, $cart_button) || $target.is($menu); 15 if (!related) { 16 $('body').off('mouseover.ope-wooo'); 17 $cart.fadeOut(); 18 } 19 20 21 }); 22 }; 23 24 var positionateWooCartItem = function () { 25 var $menu = $('#drop_mainmenu'); 26 var $cart_button = $menu.find('li.ope-menu-cart'); 27 var $cart = $cart_button.find('.ope-woo-header-cart'); 28 $menu.parent().append($cart); 29 var $menuItems = $menu.find('li').not($cart_button); 30 31 var position = /*$menu.closest('[data-sticky]') ? "fixed" :*/ "absolute"; 32 33 34 $cart_button.off().on('mouseover', function (event) { 35 36 if ($cart.children().length === 0) { 37 return; 38 } 39 40 $menuItems.trigger('mouseleave'); 41 42 addCloseCartBind($cart, $cart_button, $menu); 43 var top = $cart_button[0].getBoundingClientRect().top + $cart_button.height(); 44 45 if (position === "absolute") { 46 top = top - jQuery('body').offset().top; 47 } 48 49 $cart.css({ 50 'position': position, 51 'z-index': '100000', 52 'top': top, 53 'left': $cart_button.offset().left + $cart_button.width() + 8, 54 }); 55 $cart.fadeIn(); 56 }); 57 58 59 $( '.woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image:eq(0) .wp-post-image' ).on( 'load', function() { 60 var $image = $( this ); 61 62 if ( $image ) { 63 setTimeout( function() { 64 var setHeight = $image.closest( '.woocommerce-product-gallery__image' ).height(); 65 var $viewport = $image.closest( '.flex-viewport' ); 66 67 if ( setHeight && $viewport ) { 68 $viewport.height( setHeight ); 69 } 70 }, 500 ); 71 } 72 } ).each( function() { 73 if ( this.complete ) { 74 $( this ).load(); 75 } 76 } ); 77 }; 78 79 jQuery(document).ready(positionateWooCartItem); 80 81 82})(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.