Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.05.2020, 17:12
Профессор
Отправить личное сообщение для Сергей Ракипов Посмотреть профиль Найти все сообщения от Сергей Ракипов
 
Регистрация: 01.06.2010
Сообщений: 673

Как повесить несколько событий
buttonNavigMobile.onclick = function(){
	bodyOverflow.classList.toggle(overflow);
}

buttonNavigMobile.onclick = function(){
	if (pageNavig.className === "page_navig"){
		pageNavig.classList.remove("page_navig_hide");
		pageNavig.classList.add("page_navig_show");
	}
	else if (pageNavig.className === "page_navig page_navig_show"){
		pageNavig.classList.remove("page_navig_show");
		pageNavig.classList.add("page_navig_hide");
	}
	else if (pageNavig.className === "page_navig page_navig_hide"){
		pageNavig.classList.remove("page_navig_hide");
		pageNavig.classList.add("page_navig_show");
	}
}


А что нельзя что ли на один элемент вот так повестить события ?
И можно или а главное нужно ли закончить вторую функцию не else if а просто else
Ответить с цитированием
  #2 (permalink)  
Старый 13.05.2020, 18:01
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,132

Сергей Ракипов,
addEventListener
Ответить с цитированием
  #3 (permalink)  
Старый 14.05.2020, 17:08
Профессор
Отправить личное сообщение для Сергей Ракипов Посмотреть профиль Найти все сообщения от Сергей Ракипов
 
Регистрация: 01.06.2010
Сообщений: 673

Сообщение от рони Посмотреть сообщение
Сергей Ракипов,
addEventListener
это я понимаю, просто хотел узнать что такое написание это ошибка?

и обязательно ли заканчивать else
Ответить с цитированием
  #4 (permalink)  
Старый 14.05.2020, 17:22
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,132

Сообщение от Сергей Ракипов
обязательно ли заканчивать else
нет
Ответить с цитированием
  #5 (permalink)  
Старый 15.05.2020, 09:27
Профессор
Отправить личное сообщение для Сергей Ракипов Посмотреть профиль Найти все сообщения от Сергей Ракипов
 
Регистрация: 01.06.2010
Сообщений: 673

Сообщение от рони Посмотреть сообщение
нет
Спасибо
Ответить с цитированием
  #6 (permalink)  
Старый 16.05.2020, 10:32
Профессор
Отправить личное сообщение для Сергей Ракипов Посмотреть профиль Найти все сообщения от Сергей Ракипов
 
Регистрация: 01.06.2010
Сообщений: 673

А как более правильнее писать


function overflow(){
bodyOverflow.classList.toggle("overflow_mobile");
}
buttonNavigMobile.addEventListener("click", overflow);

function navigHideShow(){
	if (pageNavig.className === "page_navig"){
		pageNavig.classList.remove("page_navig_hide");
		pageNavig.classList.add("page_navig_show");
	}
	else if (pageNavig.className === "page_navig page_navig_show"){
		pageNavig.classList.remove("page_navig_show");
		pageNavig.classList.add("page_navig_hide");
	}
	else if (pageNavig.className === "page_navig page_navig_hide"){
		pageNavig.classList.remove("page_navig_hide");
		pageNavig.classList.add("page_navig_show");
	}
}
buttonNavigMobile.addEventListener("click", navigHideShow);


создать две функции или

function navigHideShow(){
	if (pageNavig.className === "page_navig"){
		pageNavig.classList.remove("page_navig_hide");
		pageNavig.classList.add("page_navig_show");
	}
	else if (pageNavig.className === "page_navig page_navig_show"){
		pageNavig.classList.remove("page_navig_show");
		pageNavig.classList.add("page_navig_hide");
	}
	else if (pageNavig.className === "page_navig page_navig_hide"){
		pageNavig.classList.remove("page_navig_hide");
		pageNavig.classList.add("page_navig_show");
	}
	bodyOverflow.classList.toggle("overflow_mobile");

}
buttonNavigMobile.addEventListener("click", navigHideShow);


в одну функции засунуть.

Последний раз редактировалось Сергей Ракипов, 16.05.2020 в 12:03.
Ответить с цитированием
  #7 (permalink)  
Старый 16.05.2020, 11:10
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,132

Сообщение от Сергей Ракипов
как более правильнее
правильнее не использовать className в условии(есть classList.contains) и никогда не назначать click в click!!!
Ответить с цитированием
  #8 (permalink)  
Старый 16.05.2020, 11:15
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,132

Сергей Ракипов,
function overflow(){
bodyOverflow.classList.toggle("overflow_mobile");
pageNavig.classList.toggle("page_navig_show");
}
buttonNavigMobile.addEventListener("click", overflow);

остальное лишнее.
Ответить с цитированием
  #9 (permalink)  
Старый 16.05.2020, 12:05
Профессор
Отправить личное сообщение для Сергей Ракипов Посмотреть профиль Найти все сообщения от Сергей Ракипов
 
Регистрация: 01.06.2010
Сообщений: 673

Сообщение от рони Посмотреть сообщение
правильнее не использовать className в условии(есть classList.contains)
classList.contains вроде как не может проверить наличие сразу двух классов, а className может или я не знаю синтаксис.
у меня скрипт проверяет наличие двух классов в элементе
Ответить с цитированием
  #10 (permalink)  
Старый 16.05.2020, 12:05
Профессор
Отправить личное сообщение для Сергей Ракипов Посмотреть профиль Найти все сообщения от Сергей Ракипов
 
Регистрация: 01.06.2010
Сообщений: 673

Сообщение от рони Посмотреть сообщение
и никогда не назначать click в click!!!
я там не правильно скопировал, сейчас поправил, и есть две функции и есть одна.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отделить несколько инпутов, если я не знаю какое будет их кол-во и не знаю id фор drkrol jQuery 1 07.03.2016 01:38
ng-template - Как добавить несколько шаблонов в один тег посредство ng-click A1x1On2015 Angular.js 0 02.02.2016 18:13
Как правильно определить делегирование событий? Coriolan161 Events/DOM/Window 5 07.12.2015 23:45
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 13:29
Как можно нажать сразу на несколько кнопок? Yan.Total Events/DOM/Window 2 21.03.2013 11:02