Javascript.RU

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

Логика работы addClass
Дано:
три блока и три кнопки

Задача:

Сделать так, чтобы при нажатии на каждую из кнопок, отображался блок, ей соответствующий

Проблема в том, что таких блоков, как div1 может быть много, и они должны быть независимы

Дублировать скрипт, меняя айдишники для каждого div неразумно, таких может быть штук 150

Решил задать путь к кнопкам и блокам в скрипте через класс-триггер
То, есть если наш блок находится под классом active, то скрипт сможет оперировать классами под ним
Соответственно, если класс non-active - ничего не происходит

При клике по блоку div1 я меняю его класс с non-active на active, и по идее скрипт теперь должен работать, но этого почему-то не происходит, хотя класс благополучно меняется

Меня это ставит в тупик
Подскажите, пожалуйста, что я делаю не так?
Вложения:
Тип файла: txt html.txt (1.6 Кб, 2 просмотров)
Тип файла: txt css.txt (433 байт, 0 просмотров)
Ответить с цитированием
  #2 (permalink)  
Старый 08.10.2015, 14:30
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

oleg_,
форум поиск по слову открывашка выбрать из 200 вариантов по вкусу
Ответить с цитированием
  #3 (permalink)  
Старый 08.10.2015, 14:49
Новичок на форуме
Отправить личное сообщение для oleg_ Посмотреть профиль Найти все сообщения от oleg_
 
Регистрация: 08.10.2015
Сообщений: 4

Вопрос же вообще не в этом
Простые переключалки я сделать могу, я хочу узнать, почему мой способ не работает
Ответить с цитированием
  #4 (permalink)  
Старый 08.10.2015, 14:59
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

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

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #5 (permalink)  
Старый 08.10.2015, 15:05
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от oleg_
То, есть если наш блок находится под классом active, то скрипт сможет оперировать классами под ним
Соответственно, если класс non-active - ничего не происходит
клик в таком случае надо ставить на body (учить делегирование)
$("body").on("click", ".active .button1", function...)

а вы ставите клик на то что ещё не существует.
Ответить с цитированием
  #6 (permalink)  
Старый 08.10.2015, 15:34
Новичок на форуме
Отправить личное сообщение для oleg_ Посмотреть профиль Найти все сообщения от oleg_
 
Регистрация: 08.10.2015
Сообщений: 4

Помогло, спасибо большое!
Не совсем понимаю, почему так, но разберусь

Еще такой вопрос:
Как по клику найти все классы active и заменить их на non-active?
Ответить с цитированием
  #7 (permalink)  
Старый 08.10.2015, 15:42
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

oleg_,
$("селектор").on("click",function() {
  $(".active").removeClass("active").addClass("non-active")
})
Ответить с цитированием
  #8 (permalink)  
Старый 08.10.2015, 15:44
Новичок на форуме
Отправить личное сообщение для oleg_ Посмотреть профиль Найти все сообщения от oleg_
 
Регистрация: 08.10.2015
Сообщений: 4

Только что буквально разобрался)
Спасибо
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Логика работы с массивами фонарик Общие вопросы Javascript 10 15.09.2015 18:08
Нужен скрипт для работы через Google Script (Spreadsheets) Satmax Работа 0 13.08.2014 16:55
Легки фреймворки для работы с SVG general Events/DOM/Window 0 26.11.2011 20:06
Логика работы ajax-php runekill AJAX и COMET 0 17.03.2010 15:07
Модуль для работы с модулями JSprog Ваши сайты и скрипты 29 02.09.2009 13:31