Адаптивное мобильное меню,проблема с выводом дочерних пунтков
Всем привет! Есть проблема при выводе дочернего списка меню, при нажатии на пункт с дочерним меню элементу присваивается класс .focuse для отображения списка. Суть проблемы в том что ссылки в дочернем меню не кликабельны и по ним нельзя перейти, из-за тогда что скрипт скрывает меню.
Скрипт этого чувака Разметчика: <nav id="site-navigation"> <button>=</button> <ul> <li><a href="#">Далеко-далеко.</a></li><li><a href="#">Путь!</a></li><li><a href="#">Своих?</a></li><li><a href="#">Маленькая.</a></li><li class="submenu1"><a href="#">Единственное!</a> <ul id="rt"> <li><a href="#">Далеко-далеко.</a></li> <li><a href="https://html5book.ru/svoystvo-display/">Буквенных!</a></li> </ul> </li> </ul> </nav> Сам скрипт: ( function() { var container, button, menu, links; container = document.getElementById( 'site-navigation' ); if ( ! container ) return; button = container.getElementsByTagName( 'button' )[0]; if ( 'undefined' === typeof button ) return; menu = container.getElementsByTagName( 'ul' )[0]; // Hide menu toggle button if menu is empty and return early. 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', '' ); else container.className += ' toggled'; }; // Get all the link elements within the menu. Return if none are found. links = menu.getElementsByTagName( 'a' ); if ( 0 === links.length ) return; // Each time a menu link is focused or blurred call the function toggle_focus for ( i = 0, len = links.length; i < len; i++ ) { links[i].onfocus = toggle_focus; links[i].onblur = toggle_focus; }; function toggle_focus() { // Skipping the actual link itself as this can be styled with :focus var current = this.parentElement; var parents = [] // Build an array of the parent elements of the focused link until we hit the top level .nav-menu ul while ( -1 === current.className.indexOf( 'nav-menu' ) ) { parents.unshift( current ); current = current.parentElement; } // For each element in parents[] toggle the class .focus for ( i = 0, len = parents.length; i < len; i++ ) { if ( -1 !== parents[i].className.indexOf( 'focus' ) ) parents[i].className = parents[i].className.replace( ' focus', '' ); else parents[i].className += ' focus'; } } } )(); |
Часовой пояс GMT +3, время: 07:15. |