1document.addEventListener('DOMContentLoaded', (event) => { 2 const burgerToggle = document.getElementById('burger-toggle'); 3 const mobileMenu = document.getElementById('mobile-menu'); 4 const bodyElement = document.body; 5 6 // ФÑнкÑÐ¸Ñ Ð¾ÑкÑÑÑиÑ/закÑÑÑÐ¸Ñ Ð¼ÐµÐ½Ñ 7 function toggleMenu() { 8 mobileMenu.classList.toggle('is-active'); 9 // ÐеÑеклÑÑаем клаÑÑ Ð½Ð° body Ð´Ð»Ñ Ð±Ð»Ð¾ÐºÐ¸Ñовки ÑкÑолла 10 bodyElement.classList.toggle('no-scroll'); 11 } 12 13 // 1. ÐбÑабоÑÑик клика по бÑÑгеÑÑ 14 burgerToggle.addEventListener('click', function(e) { 15 e.preventDefault(); 16 toggleMenu(); 17 }); 18 19 // 2. ÐбÑабоÑÑик клика вне Ð¼ÐµÐ½Ñ (закÑÑÑие) 20 document.addEventListener('click', function(e) { 21 // ÐÑовеÑÑем, еÑли Ð¼ÐµÐ½Ñ Ð¾ÑкÑÑÑо Рклик бÑл вне Ð¼ÐµÐ½Ñ Ð Ð²Ð½Ðµ кнопки бÑÑгеÑа 22 const isMenuOpened = mobileMenu.classList.contains('is-active'); 23 const clickedInsideMenu = mobileMenu.contains(e.target); 24 const clickedOnBurger = burgerToggle.contains(e.target); 25 26 if (isMenuOpened && !clickedInsideMenu && !clickedOnBurger) { 27 toggleMenu(); 28 } 29 }); 30 31 // ÐпÑионалÑно: ÐакÑÑÑие Ð¼ÐµÐ½Ñ Ð¿Ð¾ нажаÑÐ¸Ñ Ð½Ð° Esc 32 document.addEventListener('keydown', function(e) { 33 if (e.key === 'Escape' && mobileMenu.classList.contains('is-active')) { 34 toggleMenu(); 35 } 36 }); 37});
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.