Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   блок выполняемых событий (https://javascript.ru/forum/events/65671-blok-vypolnyaemykh-sobytijj.html)

новый вася 01.11.2016 19:22

блок выполняемых событий
 
Люди намекните плз чем можно реализовать такого рода блок событий

if ( открыто окно $('#one') ) {
выполнять только набор функций #1
}
else if ( открыто окно $('#two') ) {
выполнять только второй набор
}
и т.д.

пишу.is(':visible') не реагирует ( постоянно visible #первое пишет )
пишу просто переменной, переменные меняются а блоки нет как это реализовать?

мб нюансы какието есть типа прогрузки блока функий (или файл отдельный подключать при клике хз хз) или же switch'ом напр или может есть событие в jquery например if change visibility =)

новый вася 01.11.2016 19:37

вообщем оно работает если каждой функции прописывать условие по типу
$('#one').click(function() {   
 А ТУТ УЖЕ ПИШУ IF ( первый блок .is(':visible') ) 
});

а как только я выношу IF за скобки то типу
IF ( первый блок .is(':visible') ) { 
$('#one').click(function() {
});  

и бла бла бла дальше еще несколько десятков функций 
}

то не пашет

рони 01.11.2016 19:42

новый вася,
в клике проверют условие, а не в условии назначают клик.

новый вася 01.11.2016 19:47

т.е. назначить определенную группу функций в тот момент когда открыто одно из окон нельзя и нужно проверять в каждой функции. Подругому никак?

есть просто 4 позиции пошагового интерфейса которий реализуется в графике в ДИВе рядом, и определенные функции просто доступны только на определенных шагах, их штук 30 - 40 поетому каждой прописывать не особо

рони 01.11.2016 19:54

новый вася,
информации недостаточно, чтобы вам помочь

новый вася 01.11.2016 19:59

ладн спасиби за ответ
Цитата:

Сообщение от рони (Сообщение 433732)
новый вася,
информации недостаточно, чтобы вам помочь

думаю придется действительно ставить if на все функции, я боялся что так нужно будет но просто нужно было мнение людей с нормальным опытом спс

новый вася 01.11.2016 20:11

а еще вопрос если можно...
как передать для функции .change() другой атрибут для прослушивания не val а например css какойто. Т.е чтобы прослушивать изменение не значения а чего нить другого (ширины высоты смену css параметра или другого атрибута )

рони 01.11.2016 20:39

новый вася,
change предназначен для отслеживания изменений элементов формы(селект, инпут, т.д). что изменяет ваш css туда и добавляйте тригер на запуск нужной вам функции
или
https://developer.mozilla.org/ru/doc...tationObserver

новый вася 02.11.2016 10:07

спс иду читать, пока просто if вначале каждого события прилепил и все работает но для сложных заданий такай вариант с if'ом будет наверно сильно геморным


Часовой пояс GMT +3, время: 22:57.