Вход

Просмотр полной версии : Помогите разобраться с функцией SlideToggle


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

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

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

mik3030
12.07.2015, 16:31
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
Извините, но в поиске у людей совсем другие проблемы
и ваша тоже :cray:

рони
12.07.2015, 17:17
mik3030,
берём открывашку например 217 (http://javascript.ru/forum/showthread.php?p=369425#post369444) и ваш html -- где он кстати ? вау всё работает :dance:

mik3030
12.07.2015, 17:30
Присвойте всем раскрывающимся объектам определенный класс.

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

mik3030
12.07.2015, 17:31
берём открывашку например 217

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

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