Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.10.2016, 09:56
Интересующийся
Отправить личное сообщение для cubano Посмотреть профиль Найти все сообщения от cubano
 
Регистрация: 18.09.2016
Сообщений: 20

из двух кнопок сделать одну
Здравствуйте!

Подскажите пожалуйста, как сделать так, чтоб за открытие и за закрытие отвечала одна кнопка?

Например: Один раз нажал, галерея открылась. Второй раз нажал, закрылась.

http://codepen.io/tjbenton21/pen/LEpqmg


Заранее благодарен!
Ответить с цитированием
  #2 (permalink)  
Старый 02.10.2016, 11:06
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

cubano,
может хоть немного подучится, чтоб не спрашивать элементарные вещи и не плодите однотипные темы
classlist

for(var i = 0; i < buttons.length; i++){
 buttons[i].addEventListener("click", function(e){
     for(var c = 0; c < containers.length; c++){
   containers[c].classList.toggle("u-fancy-load--out")
   containers[c].classList.toggle("u-fancy-load--in")
   }
 }, false);
}
Ответить с цитированием
  #3 (permalink)  
Старый 02.10.2016, 11:38
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

вангую следующий вопрос ...
ответ тут коллекции-не-массивы
Ответить с цитированием
  #4 (permalink)  
Старый 02.10.2016, 12:43
Интересующийся
Отправить личное сообщение для cubano Посмотреть профиль Найти все сообщения от cubano
 
Регистрация: 18.09.2016
Сообщений: 20

Огромное спасибо ! все получилось.


Извиняюсь за свои примитивные вопросы!
Ответить с цитированием
  #5 (permalink)  
Старый 03.10.2016, 05:28
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Попутно запомни ключевое слово - toggle. Такие штучки, кнопки-одиночки, переключалки логики чек-боксов*, с двумя состояниями называются toggle - это такая button, но застегивающаяся не через петельку, а через дырку в ткани (люверс). Тынц-тынц, застегнуто-расстегнуто, закрыто-открыто, и тп.

* В JQuery UI небось полно тоглей для оформления чекбоксов.
Ответить с цитированием
  #6 (permalink)  
Старый 03.10.2016, 05:31
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Теоретически может быть третье состояние, ундефайнед, но на вебе оно не применяется.
Ответить с цитированием
  #7 (permalink)  
Старый 03.10.2016, 11:18
Интересующийся
Отправить личное сообщение для cubano Посмотреть профиль Найти все сообщения от cubano
 
Регистрация: 18.09.2016
Сообщений: 20

Наберусь наглости, и задам еще один вопрос.

Как сделать, чтобы галерея закрывалась по нажатию на область, за ее пределами?

Заранее благодарен!
Ответить с цитированием
  #8 (permalink)  
Старый 03.10.2016, 11:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

cubano,
галерея 1 или несколько?
Ответить с цитированием
  #9 (permalink)  
Старый 03.10.2016, 12:16
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

cubano,
document.addEventListener("click", function(e) {
    var target = e.target, items = document.querySelectorAll(".u-fancy-load--in");
    if(!items.length) return;
    while (target != document) {
        if (target.classList.contains("u-fancy-load") || target.hasAttribute("data-animation")) {
            return;
        }
        target = target.parentNode;
    }
    [].forEach.call(items, function(el) {
        el.classList.add("u-fancy-load--out")
        el.classList.remove("u-fancy-load--in")
    });

})

Последний раз редактировалось рони, 03.10.2016 в 12:19.
Ответить с цитированием
  #10 (permalink)  
Старый 03.10.2016, 20:47
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Здесь эротичнее сделать генеральную закрывашку на заранее ей известный идентификатор. Добавляешь этот класс к элементу и можно так открыть их много с защищенных от всплытия кнопок всяких, а потом щелк мимо и чпок все закрылись.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенаправление всех запросов на одну страницу trikadin Серверные языки и технологии 13 29.12.2011 02:40
Как лучше сделать виджет? comentator Элементы интерфейса 0 25.03.2011 08:44
Как сделать, чтобы при наведении на кнопку справа от нее появлялись текстовые ссылки? Tass Общие вопросы Javascript 7 17.02.2011 09:06
Сделать видимым select... Anneta Элементы интерфейса 7 12.01.2011 21:21
как сделать меню из кнопок списком ? arkady21 Общие вопросы Javascript 0 06.10.2010 11:40