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