Javascript.RU

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

блок событий для открытого окна
Люди намекните плз чем можно реализовать такого рода блок событий
из серии
if ( открыто окно $('#one') ) {
выполнять только набор функций #1
}
else if ( открыто окно $('#two') ) {
выполнять только второй набор
}
и т.д.

пишу.is(':visible') не реагирует ( постоянно visible #первое пишет )

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

может есть событие в jquery например if change visibility =)
Ответить с цитированием
  #2 (permalink)  
Старый 02.11.2016, 08:12
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

новый вася, для начала сделай тестовый пример...
Ответить с цитированием
  #3 (permalink)  
Старый 02.11.2016, 08:19
Профессор
Отправить личное сообщение для Гробовщик Посмотреть профиль Найти все сообщения от Гробовщик
 
Регистрация: 10.03.2013
Сообщений: 169

Вот тут чувак хорошо ответил

Цитата:
В jquery к элименту применяется стиль display:none
Если используете метод hide();
<div class="class" style="display:none"></div>
Проверить можно значение у этого свойства
var g = document.getElementById('g');

if(g.style.display==='none'){
console.log('Не видим');
}else{
console.log('Виден');
}


Понять как скрыть элимент можно только зная какой способ вы используете, если вы используете display:hidden, opacity:0, то вот это условие будет верным
$("#test").is(":visible")
Прежде чем проверять стоит выеснить каким способом элимент скрыт
А по факту ksa прав. Без кода очень сложно понять о чём речь, а форум битвы экстрасенсов находится в другом месте
Ответить с цитированием
  #4 (permalink)  
Старый 02.11.2016, 11:01
Интересующийся
Отправить личное сообщение для новый вася Посмотреть профиль Найти все сообщения от новый вася
 
Регистрация: 23.01.2015
Сообщений: 28

крч как объяснили мне в соседней теме
$('#one').click(function() {  
А ТУТ ПИШУ if ( первый блок .is(':visible') ) { действие }
});

$('#two').click(function() {  
А ТУТ ПИШУ if ( первый блок .is(':visible') ) { действие }
});

$('#three').click(function() {  
А ТУТ ПИШУ if ( первый блок .is(':visible') ) { действие }
});

а не так с общим ифом
if ( первый блок .is(':visible') ) {
$('#one').click(function() {  });
$('#two').click(function() {  });
$('#three').click(function() {  });
}


грустно конечно на 30-40 функций такую проверку вешать но уже сделал и все работает, интересно конечно, есть же способ его как-то объединить по нормальному а не просто в каждой функции сначала писать if блаблабла...
Ответить с цитированием
  #5 (permalink)  
Старый 02.11.2016, 11:37
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от новый вася
грустно конечно на 30-40 функций такую проверку вешать
Так ты используешь селекторы идентификаторов, а они у всех элементов разные...
Можно нужным элементам присвоить некий класс - тогда все однотипные действия можно "привязать" к селектору этого класса.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с делегированием событий. Валидация инпута + крестик для его очистки h0x Events/DOM/Window 0 21.05.2014 10:04
Использование window.open() для позиционирования окна в середине экрана marat-chessman Events/DOM/Window 13 14.08.2011 20:20
Менять аргументы объектов первого окна из второго, открытого явой окна Kypcop Общие вопросы Javascript 1 29.03.2010 21:44
script для всплывающего окна?????! BIZNES123 Элементы интерфейса 3 04.12.2009 10:43
Модуль для работы с геометрией окна JSprog Библиотеки/Тулкиты/Фреймворки 25 31.08.2009 12:54