Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 08.06.2021, 23:23
Интересующийся
Отправить личное сообщение для 13Foch Посмотреть профиль Найти все сообщения от 13Foch
 
Регистрация: 08.06.2021
Сообщений: 21

let a = function (b) {
			document.querySelector(b).addEventListener("click", function (event) {
				let target = event.target;
				if (target = target.closest(".menu__name")) {
					event.preventDefault();
					let parent = target.parentNode;
					let children = parent.parentNode.children;
					[...children].forEach(el => el.classList[el === parent ? "toggle" : "remove"]("menu__item--active"))
				}
			});
		}
		a('.menu');

а так более правильно ?
Ответить с цитированием
  #32 (permalink)  
Старый 09.06.2021, 00:19
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,120

13Foch,
а если нет элемента?
Ответить с цитированием
  #33 (permalink)  
Старый 09.06.2021, 09:08
Интересующийся
Отправить личное сообщение для 13Foch Посмотреть профиль Найти все сообщения от 13Foch
 
Регистрация: 08.06.2021
Сообщений: 21

Сообщение от рони
а если нет элемента?
да
Ответить с цитированием
  #34 (permalink)  
Старый 09.06.2021, 09:31
Интересующийся
Отправить личное сообщение для 13Foch Посмотреть профиль Найти все сообщения от 13Foch
 
Регистрация: 08.06.2021
Сообщений: 21

и переменные будут в не зоны видимости их не переназначат
Ответить с цитированием
  #35 (permalink)  
Старый 09.06.2021, 09:41
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,120

13Foch,

document.addEventListener( "DOMContentLoaded" , function() {
const menuToggle = function (selector) {
            const menu = document.querySelector(selector);
            if(!menu) return;
            menu.addEventListener("click", function (event) {
                let target = event.target;
                if (target = target.closest(".menu__name")) {
                    event.preventDefault();
                    let parent = target.parentNode;
                    let children = parent.parentNode.children;
                    [...children].forEach(el => el.classList[el === parent ? "toggle" : "remove"]("menu__item--active"))
                }
            });
        }
menuToggle('.menu');
  });
Ответить с цитированием
  #36 (permalink)  
Старый 09.06.2021, 09:44
Интересующийся
Отправить личное сообщение для 13Foch Посмотреть профиль Найти все сообщения от 13Foch
 
Регистрация: 08.06.2021
Сообщений: 21

понял спасибо
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Убрать боковое меню при клике не по меню Oleg0 Элементы интерфейса 2 21.08.2017 20:07
Замена стилей класса Павел Турченко Элементы интерфейса 9 30.10.2015 15:24
Несколько пунктов меню, отображение содержимого при клике chelfenix jQuery 3 10.04.2015 16:52
Выделение при клике на элемент haacki jQuery 2 16.03.2014 14:56
Dropdown, выпадающее меню при клике moslem jQuery 2 22.07.2013 17:20