Форум программистов, компьютерный форум, киберфорум
Наши страницы
JavaScript
Войти
Регистрация
Восстановить пароль
 
enigma
0 / 0 / 0
Регистрация: 04.09.2014
Сообщений: 27
1

Закрыть меню-аккордеон при открытии другого

30.04.2015, 16:22. Просмотров 369. Ответов 2
Метки нет (Все метки)

Ребят столкнулся с проблемой- есть менюшка , при клике на один из разделов открываются подменю
но если открыть следующий раздел , то раздел который был открытым не закрывается , нужно чтоб закрывалось
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
jQuery.fn.initMenu = function() {  
    return this.each(function(){
        var theMenu = $(this).get(0);
        $('.acitem', this).hide();
        $('li.expand > .acitem', this).show();
        $('li.expand > .acitem', this).prev().addClass('active');
        $('.cross', this).click(
            function(e) {
                e.stopImmediatePropagation();
                var theElement = $(this).next();
                var parent = this.parentNode.parentNode;
                if($(parent).hasClass('noaccordion')) {
                    if(theElement[0] === undefined) {
                        window.location.href = this.href;
                    }
                    $(theElement).slideToggle('normal', function() {
                        if ($(this).is(':visible')) {
                            $(this).prev().addClass('active');
                        }
                        else {
                            $(this).prev().removeClass('active');
                        }    
                    });
                    return false;
                }
                else {
                    if(theElement.hasClass('acitem') && theElement.is(':visible')) {
                        if($(parent).hasClass('collapsible')) {
                            $('.acitem:visible', parent).first().slideUp('normal', 
                            function() {
                                $(this).prev().removeClass('active');
                            }
                        );
                        return false;  
                    }
                    return false;
                }
                if(theElement.hasClass('acitem') && !theElement.is(':visible')) {         
                    $('.acitem:visible', parent).first().slideUp('normal', function() {
                        $(this).prev().removeClass('active');
                    });
                    theElement.slideDown('normal', function() {
                        $(this).prev().addClass('active');
                    });
                    return false;
                }
            }
        }
    );
});
};
 
$(document).ready(function() {$('.menu').initMenu();});
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.04.2015, 16:22
Ответы с готовыми решениями:

Раскрывающееся меню - при открытии/закрытии вложенного меню закрывается все меню
Проблема во вложенном меню. При открытии/закрытии вложенного меню закрывается...

Сделать так, чтобы при открытии другого окна, первое автоматически закрывалось
Не так давно начал заниматься веб-разработкой и столкнулся с проблемой, на...

Как свернуть меню-аккордеон?
Добрый день. Я сделал простое вертикальное меню аккордеон. Вроде все работает....

Связать ссылку с меню аккордеон
Добрый день. Помогите в решении двух проблемы. Есть меню аккордеон на тест...

Задержка при открытии 2 уровня меню, как сделать?
привет. на сайте http://promelec.ru слева организовано меню товаров,...

2
JokerNN
134 / 130 / 57
Регистрация: 29.12.2011
Сообщений: 359
30.04.2015, 16:33 2
Добавьте класс collapsible к menu, пример, где всё работает:
http://plnkr.co/edit/846hoYsub0r1dkL23Xi8?p=preview

Но вообще это самописный код с форума, я бы лучше рекоммендовал jquery accordion, но он jqueryUI требует
1
enigma
0 / 0 / 0
Регистрация: 04.09.2014
Сообщений: 27
30.04.2015, 16:38  [ТС] 3
Сайт древний и написан на Eresus CMS 2.15
библиотека jquery 1.4
если неправильно дышать все херится :-)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.04.2015, 16:38

Как дополнить скрипт меню аккордеон?
Добрый день уважаемые форумчане! Прошу помощи: Есть рабочее меню аккордеон:...

Меню аккордеон: как добавить запоминание открытого пункта?
Уважаемые форумчане очень нужна помощь,есть меню аккордеон(код можно посмотреть...

Как создать программу формирования раскрывающего меню со списком всех меток другого фрейма
Помогите создать программу формирования раскрывающего меню со списком всех...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru