1jQuery(document).ready(function ($) { 2 initCdCart(); 3}); 4 5function initCdCart() { 6 //if you change this breakpoint in the style.css file (or _layout.scss if you use SASS), don't forget to update this value as well 7 var $L = 1200, 8 $menu_navigation = $('#main-nav'), 9 $cart_trigger = $('.cd-cart-trigger'), 10 $hamburger_icon = $('#cd-hamburger-menu'), 11 $lateral_cart = $('#cd-cart'), 12 $shadow_layer = $('#cd-shadow-layer, .close-cd-cart'); 13 14 //open lateral menu on mobile 15 $hamburger_icon.on('click', function(event){ 16 event.preventDefault(); 17 //close cart panel (if it's open) 18 $lateral_cart.removeClass('speed-in'); 19 toggle_panel_visibility($menu_navigation, $shadow_layer, $('body')); 20 }); 21 22 //open cart 23 $cart_trigger.on('click', function(event){ 24 event.preventDefault(); 25 //close lateral menu (if it's open) 26 $menu_navigation.removeClass('speed-in'); 27 toggle_panel_visibility($lateral_cart, $shadow_layer, $('body')); 28 }); 29 30 //close lateral cart or lateral menu 31 $shadow_layer.on('click', function(){ 32 $shadow_layer.removeClass('is-visible'); 33 // firefox transitions break when parent overflow is changed, so we need to wait for the end of the trasition to give the body an overflow hidden 34 if( $lateral_cart.hasClass('speed-in') ) { 35 $lateral_cart.removeClass('speed-in').on('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function(){ 36 $('body').removeClass('overflow-hidden'); 37 }); 38 $menu_navigation.removeClass('speed-in'); 39 } else { 40 $menu_navigation.removeClass('speed-in').on('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function(){ 41 $('body').removeClass('overflow-hidden'); 42 }); 43 $lateral_cart.removeClass('speed-in'); 44 } 45 }); 46 47 //move #main-navigation inside header on laptop 48 //insert #main-navigation after header on mobile 49 //move_navigation( $menu_navigation, $L); 50 //$(window).on('resize', function(){ 51 // move_navigation( $menu_navigation, $L); 52 53 // if( $(window).width() >= $L && $menu_navigation.hasClass('speed-in')) { 54 // $menu_navigation.removeClass('speed-in'); 55 // $shadow_layer.removeClass('is-visible'); 56 // $('body').removeClass('overflow-hidden'); 57 // } 58 59 //}); 60} 61 62function toggle_panel_visibility ($lateral_panel, $background_layer, $body) { 63 if( $lateral_panel.hasClass('speed-in') ) { 64 // firefox transitions break when parent overflow is changed, so we need to wait for the end of the trasition to give the body an overflow hidden 65 $lateral_panel.removeClass('speed-in').one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function(){ 66 $body.removeClass('overflow-hidden'); 67 }); 68 $background_layer.removeClass('is-visible'); 69 70 } else { 71 $lateral_panel.addClass('speed-in').one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function(){ 72 $body.addClass('overflow-hidden'); 73 }); 74 $background_layer.addClass('is-visible'); 75 } 76} 77 78function move_navigation( $navigation, $MQ) { 79 if ( $(window).width() >= $MQ ) { 80 $navigation.detach(); 81 $navigation.appendTo('header'); 82 } else { 83 $navigation.detach(); 84 $navigation.insertAfter('header'); 85 } 86}
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.