Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Помогите разобраться с функцией SlideToggle (https://javascript.ru/forum/jquery/56962-pomogite-razobratsya-s-funkciejj-slidetoggle.html)

mik3030 12.07.2015 16:05

Помогите разобраться с функцией SlideToggle
 
Ребят, помогите разобраться с функцией SlideToggle пожалуйста, у меня есть 4 кнопки и 4 скрытых блока, по клику на одну из кнопок выезжает соответствующий блок. Проблема в следущем, когда я нажимаю на одну из кнопок открывается блок, если я нажимаю ещё по другой кнопке то выезжает ещё один блок. Как сделать так чтобы по клику на одну из кнопок, проверить открыт ли какой либо из 4 блоков и если открыт, то свернуть его и открыть тот на который нажали. Буду очень благодарен за любую помощь. Мучаюсь с этим уже третий день.

P.S. Прошу прощение если вопрос слишком идиотский, я в этом новичок :(

рони 12.07.2015 16:25

mik3030,
на форуме 220 решений по вашей проблеме - поиск: открывашка

mik3030 12.07.2015 16:31

Цитата:

Сообщение от рони (Сообщение 378894)
mik3030,
на форуме 220 решений по вашей проблеме - поиск: открывашка

Извините, но в поиске у людей совсем другие проблемы и задачи. :(

jasper-blondin 12.07.2015 17:04

Присвойте всем раскрывающимся объектам определенный класс.
При клике по любой из кнопок сначала сворачивайте все блоки с помощь функции slideUp(), а затем вызывайте функцию slideToggle().
Например, так:
$("#button1").click(function() {
    $(".containers").slideUp();
    $("#container1").slideToggle();
});


Если же хотите оптимизировать код (в случае, если раскрывающихся элементов очень много), можно присваивать раскрытому элементу некий класс "active", а затем перед каждым slideToggle() скрывать элемент с классом "active".

рони 12.07.2015 17:11

Цитата:

Сообщение от mik3030
Извините, но в поиске у людей совсем другие проблемы

и ваша тоже :cray:

рони 12.07.2015 17:17

mik3030,
берём открывашку например 217 и ваш html -- где он кстати ? вау всё работает :dance:

mik3030 12.07.2015 17:30

Цитата:

Сообщение от jasper-blondin (Сообщение 378900)
Присвойте всем раскрывающимся объектам определенный класс.

Спасибо, сейчас попробуем :thanks:

mik3030 12.07.2015 17:31

Цитата:

Сообщение от рони
берём открывашку например 217

Сейчас попробую первый, если не получится буду пробовать Ваш, спасибо большое =)

mik3030 12.07.2015 17:38

jasper-blondin, Спасибо огромное!! Получилось! :dance:
Так все просто оказалось) Благодраю всех за помощь!


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