1jQuery(document).ready(function($){ 2 //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 3 var MqL = 1170; 4 //move nav element position according to window width 5 moveNavigation(); 6 $(window).on('resize', function(){ 7 (!window.requestAnimationFrame) ? setTimeout(moveNavigation, 300) : window.requestAnimationFrame(moveNavigation); 8 }); 9 10 //mobile - open lateral menu clicking on the menu icon 11 $('.cd-nav-trigger').on('click', function(event){ 12 event.preventDefault(); 13 if( $('.cd-main-content').hasClass('nav-is-visible') ) { 14 closeNav(); 15 $('.cd-overlay').removeClass('is-visible'); 16 } else { 17 $(this).addClass('nav-is-visible'); 18 $('.cd-primary-nav').addClass('nav-is-visible'); 19 $('.cd-main-header').addClass('nav-is-visible'); 20 $('.cd-main-content').addClass('nav-is-visible').one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function(){ 21 $('body').addClass('overflow-hidden'); 22 }); 23 toggleSearch('close'); 24 $('.cd-overlay').addClass('is-visible'); 25 } 26 }); 27 28 //open search form 29 $('.cd-search-trigger').on('click', function(event){ 30 event.preventDefault(); 31 toggleSearch(); 32 closeNav(); 33 }); 34 35 //close lateral menu on mobile 36 $('.cd-overlay').on('swiperight', function(){ 37 if($('.cd-primary-nav').hasClass('nav-is-visible')) { 38 closeNav(); 39 $('.cd-overlay').removeClass('is-visible'); 40 } 41 }); 42 $('.nav-on-left .cd-overlay').on('swipeleft', function(){ 43 if($('.cd-primary-nav').hasClass('nav-is-visible')) { 44 closeNav(); 45 $('.cd-overlay').removeClass('is-visible'); 46 } 47 }); 48 $('.cd-overlay').on('click', function(){ 49 closeNav(); 50 toggleSearch('close') 51 $('.cd-overlay').removeClass('is-visible'); 52 }); 53 54 55 //prevent default clicking on direct children of .cd-primary-nav 56 $('.cd-primary-nav').children('.has-children').children('a').on('click', function(event){ 57 event.preventDefault(); 58 }); 59 //open submenu 60 $('.has-children').children('a').on('click', function(event){ 61 if( !checkWindowWidth() ) event.preventDefault(); 62 var selected = $(this); 63 if( selected.next('ul').hasClass('is-hidden') ) { 64 //desktop version only 65 selected.addClass('selected').next('ul').removeClass('is-hidden').end().parent('.has-children').parent('ul').addClass('moves-out'); 66 selected.parent('.has-children').siblings('.has-children').children('ul').addClass('is-hidden').end().children('a').removeClass('selected'); 67 $('.cd-overlay').addClass('is-visible'); 68 } else { 69 selected.removeClass('selected').next('ul').addClass('is-hidden').end().parent('.has-children').parent('ul').removeClass('moves-out'); 70 $('.cd-overlay').removeClass('is-visible'); 71 } 72 toggleSearch('close'); 73 }); 74 75 //submenu items - go back link 76 $('.go-back').on('click', function(){ 77 $(this).parent('ul').addClass('is-hidden').parent('.has-children').parent('ul').removeClass('moves-out'); 78 }); 79 80 function closeNav() { 81 $('.cd-nav-trigger').removeClass('nav-is-visible'); 82 $('.cd-main-header').removeClass('nav-is-visible'); 83 $('.cd-primary-nav').removeClass('nav-is-visible'); 84 $('.has-children ul').addClass('is-hidden'); 85 $('.has-children a').removeClass('selected'); 86 $('.moves-out').removeClass('moves-out'); 87 $('.cd-main-content').removeClass('nav-is-visible').one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function(){ 88 $('body').removeClass('overflow-hidden'); 89 }); 90 } 91 92 function toggleSearch(type) { 93 if(type=="close") { 94 //close serach 95 $('.cd-search').removeClass('is-visible'); 96 $('.cd-search-trigger').removeClass('search-is-visible'); 97 } else { 98 //toggle search visibility 99 $('.cd-search').toggleClass('is-visible'); 100 $('.cd-search-trigger').toggleClass('search-is-visible'); 101 if($(window).width() > MqL && $('.cd-search').hasClass('is-visible')) $('.cd-search').find('input[type="search"]').focus(); 102 ($('.cd-search').hasClass('is-visible')) ? $('.cd-overlay').addClass('is-visible') : $('.cd-overlay').removeClass('is-visible') ; 103 } 104 } 105 106 function checkWindowWidth() { 107 //check window width (scrollbar included) 108 var e = window, 109 a = 'inner'; 110 if (!('innerWidth' in window )) { 111 a = 'client'; 112 e = document.documentElement || document.body; 113 } 114 if ( e[ a+'Width' ] >= MqL ) { 115 return true; 116 } else { 117 return false;
118 } 119 } 120 121 function moveNavigation(){ 122 var navigation = $('.cd-nav'); 123 var desktop = checkWindowWidth(); 124 if ( desktop ) { 125 navigation.detach(); 126 navigation.insertBefore('.cd-header-buttons'); 127 } else { 128 navigation.detach(); 129 navigation.insertAfter('.cd-main-content'); 130 } 131 } 132});
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.