Javascript.RU

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

Как работают аккордеоны?
Написал 2 такие хреньки
Хренька 1
Хренька 2
Делал ее долго, потому, что с Js и Jq говорю на вы. Где-то часа 2-3 (ну во втором примере, первый то быстро). Путем проб и ошибок добился того, чего надо. Но понял, что не знаю как сделать так, чтоб когда раскрыт один блок, то второй автоматом закрывается. Прямо как в аккордеоне в jQ ui.
Подскажите, как мне сделать, так, чтоб при открытии одного блока, другой закрывался? Заранее спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 27.04.2016, 09:51
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

dimensi,
Открывашка 251 открыть/закрыть блок по кнопке или вне блока
и другие открывашки ...
Ответить с цитированием
  #3 (permalink)  
Старый 27.04.2016, 13:51
Интересующийся
Отправить личное сообщение для dimensi Посмотреть профиль Найти все сообщения от dimensi
 
Регистрация: 07.09.2015
Сообщений: 20

А можно логику скрипта объяснить? Я просто даже не знаю как это перенастроить под себя.
Ответить с цитированием
  #4 (permalink)  
Старый 27.04.2016, 15:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

dimensi,
со всех кнопок кроме текущей активный класс снимается removeClass, на текущей кнопке класс меняется toggleClass, все блоки кроме текущего закрываются slideUp, текущий блок меняет состояние slideToggle;

две строки в клике достаточно ...
Ответить с цитированием
  #5 (permalink)  
Старый 27.04.2016, 15:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

dimensi,
var child = $(".have-child"),
    time = $(".no-time");
child.click(function() {
    child.not($(this).toggleClass("open")).removeClass("open");
    time.not($(this).next().slideToggle()).slideUp()
});
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
initComponent: Как получить данные родителя и как получить store для вызова load()? Пролетарий ExtJS 76 04.07.2015 09:22
Как сделать что бы картинки с другого url отображались как свои zlodey Серверные языки и технологии 1 04.05.2015 21:30
Как работают оповещения в ВК hated8 Элементы интерфейса 0 06.02.2015 20:17
Как правильно реализовать такой функционал? Julian Общие вопросы Javascript 3 16.01.2015 12:34
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48