-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathwmac_single_6ec0e9b3201c83a442e24aba829a5f05.js
12 lines (12 loc) · 2.19 KB
/
wmac_single_6ec0e9b3201c83a442e24aba829a5f05.js
1
2
3
4
5
6
7
8
9
10
11
12
(function(){var container,button,menu,links,i,len;container=document.getElementById('top-navigation');if(!container){return;}
button=container.getElementsByClassName('top-menu-mobile')[0];if('undefined'===typeof button){return;}
menu=container.getElementsByTagName('ul')[0];if('undefined'===typeof menu){button.style.display='none';return;}
if(-1===menu.className.indexOf('nav-menu')){menu.className+=' nav-menu';}
button.onclick=function(){if(-1!==container.className.indexOf('toggled')){container.className=container.className.replace(' toggled','');button.setAttribute('aria-expanded','false');}else{container.className+=' toggled';button.setAttribute('aria-expanded','true');}};document.addEventListener('click',function(event){var isClickInside=container.contains(event.target);if(!isClickInside){container.className=container.className.replace(' toggled','');button.setAttribute('aria-expanded','false');}});links=menu.getElementsByTagName('a');for(i=0,len=links.length;i<len;i++){links[i].addEventListener('focus',toggleFocus,true);links[i].addEventListener('blur',toggleFocus,true);}
function toggleFocus(){var self=this;while(-1===self.className.indexOf('nav-menu')){if('li'===self.tagName.toLowerCase()){if(-1!==self.className.indexOf('focus')){self.className=self.className.replace(' focus','');}else{self.className+=' focus';}}
self=self.parentElement;}}
(function(){var touchStartFn,parentLink=container.querySelectorAll('.menu-item-has-children > a, .page_item_has_children > a');if('ontouchstart'in window){touchStartFn=function(e){var menuItem=this.parentNode;if(!menuItem.classList.contains('focus')){e.preventDefault();for(i=0;i<menuItem.parentNode.children.length;++i){if(menuItem===menuItem.parentNode.children[i]){continue;}
menuItem.parentNode.children[i].classList.remove('focus');}
menuItem.classList.add('focus');}else{menuItem.classList.remove('focus');}};for(i=0;i<parentLink.length;++i){parentLink[i].addEventListener('touchstart',touchStartFn,false);}}}(container));const goToBtn=document.querySelector('.top-go-to-btn'),goToEnd=document.querySelector('.top-go-to-end')
goToBtn.addEventListener('focus',()=>{button.focus()})
goToEnd.addEventListener('focus',()=>{menu.lastElementChild.querySelector('a').focus()})}());