Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
Ilya1980

Реализовать тройную вложенность пунктов меню

20.06.2014, 06:13. Показов 1540. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть прикольное меню, но в JavaScript/jQuery не разбираюсь
Меню работает как надо, но у него двойная вложенность, а нужно сделать тройную
Заранее спасибо добрым людям

HTML5
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
<div id="wrapper-250">
        <ul class="accordion">
            <li id="one" class="files">
                <a href="#" class="">Мои файлы<span>495</span></a>
                <ul class="sub-menu" style="display: none; ">
                    <li><a href="#"><em>01</em>Dropbox<span>42</span></a></li>
                    <li><a href="#"><em>02</em>Skydrive<span>87</span></a></li>
                    <li><a href="#"><em>03</em>FTP Сервер<span>366</span></a></li>
                    <li><a href="#"><em>04</em>Google Drive<span>1</span></a></li>
                    <li><a href="#"><em>05</em>Skydrive<span>10</span></a></li>
                </ul>
            </li>
            <li id="two" class="mail">
                <a href="#" class="">Почта<span>26</span></a>
                <ul class="sub-menu" style="display: none; ">
                    <li><a href="#"><em>01</em>Gmail<span>9</span></a></li>
                    <li><a href="#"><em>02</em>Yandex<span>14</span></a></li>
                </ul>
            </li>
            <li id="three" class="cloud">
                <a href="#" class="">Работа<span>58</span></a>
                <ul class="sub-menu" style="display: none; ">
                    <li><a href="#"><em>01</em>Отправка<span>12</span></a></li>
                    <li><a href="#"><em>02</em>Сайты<span>19</span></a></li>
                    <li><a href="#"><em>03</em>Сделать<span>27</span></a></li>
                    <li><a href="#"><em>04</em>Пароли<span>12</span></a></li>
                    <li><a href="#"><em>05</em>Профили<span>19</span></a></li>
                    <li><a href="#"><em>06</em>Опции<span>27</span></a></li>
                </ul>
            </li>
            <li id="four" class="sign">
                <a href="#" class="active">Войти</a>
                <ul class="sub-menu" style="display: block; ">
                    <li><a href="#"><em>01</em>Выход</a></li>
                    <li><a href="#"><em>02</em>Удалить профиль</a></li>
                    <li><a href="#"><em>03</em>Параметры</a></li>
                </ul>
            </li>
        </ul>
    </div>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript">
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        $(document).ready(function() {
            var accordion_head = $('.accordion > li > a'),
                accordion_body = $('.accordion li > .sub-menu');
            accordion_head.first().addClass('active').next().slideDown('normal');
            accordion_head.on('click', function(event) {
                event.preventDefault();
                if ($(this).attr('class') != 'active'){
                    accordion_body.slideUp('normal');
                    $(this).next().stop(true,true).slideToggle('normal');
                    accordion_head.removeClass('active');
                    $(this).addClass('active');
                }
            });
        });
HTML5
1
</script>
CSS
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
.accordion,
.accordion ul,
.accordion li,
.accordion a,
.accordion span {
    margin: 0;
    padding: 0;
    border: none;
    outline: none;
}
 
.accordion li {
    list-style: none;
}
 
/* Layout & Style */
 
.accordion li > a {
    display: block;
    position: relative;
    min-width: 110px;
    padding: 0 10px 0 40px;
    height: 32px;
 
    color: #fdfdfd;
    font: bold 12px/32px Arial, sans-serif;
    text-decoration: none;
    text-shadow: 0px 1px 0px rgba(0,0,0, .35);
 
    background: #6c6e74;
    background: -moz-linear-gradient(top,  #6c6e74 0%, #4b4d51 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#6c6e74), color-stop(100%,#4b4d51));
    background: -webkit-linear-gradient(top,  #6c6e74 0%,#4b4d51 100%);
    background: -o-linear-gradient(top,  #6c6e74 0%,#4b4d51 100%);
    background: -ms-linear-gradient(top,  #6c6e74 0%,#4b4d51 100%);
    background: linear-gradient(top,  #6c6e74 0%,#4b4d51 100%);
 
    -webkit-box-shadow: inset 0px 1px 0px 0px rgba(255,255,255, .1), 0px 1px 0px 0px rgba(0,0,0, .1);
    -moz-box-shadow: inset 0px 1px 0px 0px rgba(255,255,255, .1), 0px 1px 0px 0px rgba(0,0,0, .1);
    box-shadow: inset 0px 1px 0px 0px rgba(255,255,255, .1), 0px 1px 0px 0px rgba(0,0,0, .1);
}
 
.accordion > li:hover > a,
.accordion > li:target > a,
.accordion > li > a.active {
    color: #3e5706;
    text-shadow: 1px 1px 1px rgba(255,255,255, .2);
    
    /*background: url(../img/active.png) repeat-x;*/
    background: #a5cd4e;
    background: -moz-linear-gradient(top,  #a5cd4e 0%, #6b8f1a 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#a5cd4e), color-stop(100%,#6b8f1a));
    background: -webkit-linear-gradient(top,  #a5cd4e 0%,#6b8f1a 100%);
    background: -o-linear-gradient(top,  #a5cd4e 0%,#6b8f1a 100%);
    background: -ms-linear-gradient(top,  #a5cd4e 0%,#6b8f1a 100%);
    background: linear-gradient(top,  #a5cd4e 0%,#6b8f1a 100%); 
}
 
.accordion li > a span {
    display: block;
    position: absolute;
    top: 7px;
    right: 0;
    padding: 0 10px;
    margin-right: 10px;
    
    font: normal bold 12px/18px Arial, sans-serif;
    background: #404247;
    
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
 
    -webkit-box-shadow: inset 1px 1px 1px rgba(0,0,0, .2), 1px 1px 1px rgba(255,255,255, .1);
    -moz-box-shadow: inset 1px 1px 1px rgba(0,0,0, .2), 1px 1px 1px rgba(255,255,255, .1);
    box-shadow: inset 1px 1px 1px rgba(0,0,0, .2), 1px 1px 1px rgba(255,255,255, .1);
}
 
.accordion > li:hover > a span,
.accordion > li:target > a span,
.accordion > li > a.active span {
    color: #fdfdfd;
    text-shadow: 0px 1px 0px rgba(0,0,0, .35);
    background: #3e5706;
}
 
/* Images */
 
.accordion > li > a:before {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    width: 24px;
    height: 24px;
    margin: 4px 8px;
 
    background-repeat: no-repeat;
    background-image: url(../img/icons.png);
    background-position: 0px 0px;
}
 
.accordion li.files > a:before { background-position: 0px 0px; }
.accordion li.files:hover > a:before,
.accordion li.files:target > a:before,
.accordion li.files > a.active:before { background-position: 0px -24px; }
 
.accordion li.mail > a:before { background-position: -24px 0px; }
.accordion li.mail:hover > a:before,
.accordion li.mail:target > a:before,
.accordion li.mail > a.active:before { background-position: -24px -24px; }
 
.accordion li.cloud > a:before { background-position: -48px 0px; }
.accordion li.cloud:hover > a:before,
.accordion li.cloud:target > a:before,
.accordion li.cloud > a.active:before { background-position: -48px -24px; }
 
.accordion li.sign > a:before { background-position: -72px 0px; }
.accordion li.sign:hover > a:before,
.accordion li.sign:target > a:before,
.accordion li.sign > a.active:before { background-position: -72px -24px; }
 
/* Sub Menu */
 
.sub-menu li a {
    color: #797979;
    text-shadow: 1px 1px 0px rgba(255,255,255, .2);
 
    background: #e5e5e5;
    border-bottom: 1px solid #c9c9c9;
 
    -webkit-box-shadow: inset 0px 1px 0px 0px rgba(255,255,255, .1), 0px 1px 0px 0px rgba(0,0,0, .1);
    -moz-box-shadow: inset 0px 1px 0px 0px rgba(255,255,255, .1), 0px 1px 0px 0px rgba(0,0,0, .1);
    box-shadow: inset 0px 1px 0px 0px rgba(255,255,255, .1), 0px 1px 0px 0px rgba(0,0,0, .1);
}
 
.sub-menu li:hover a { background: #efefef; }
 
.sub-menu li:last-child a { border: none; }
 
.sub-menu li > a span {
    color: #797979;
    text-shadow: 1px 1px 0px rgba(255,255,255, .2);
    background: transparent;
    border: 1px solid #c9c9c9;
 
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}
 
.sub-menu em {
    position: absolute;
    top: 0;
    left: 0;
    margin-left: 14px;
    color: #a6a6a6;
    font: normal 10px/32px Arial, sans-serif;
}
 
/* Functionality */
 
.accordion li > .sub-menu {
    display: none;
}
 
.accordion li:target > .sub-menu {
    display: block;
}
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.06.2014, 06:13
Ответы с готовыми решениями:

Реализовать Меню из двух пунктов
Помогите пожалуйста решить задачи С++ под Linux Реализовать Меню из двух пунктов: 1-ый пункт – определить...

Реализовать вложенность форм
Возможно ли вложить win форму в дочернюю форму? Если да, то как? То есть по такой с схеме: в родительскую форму встраиваем дочернюю, а в...

Неправильная вложенность меню
Подскажите, как поставить правильную вложенность в меню.У меня получается последовательность элементов &lt;ul&gt; ...

1
12 / 12 / 9
Регистрация: 24.06.2014
Сообщений: 50
24.06.2014, 16:10
Код HTML:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
                <li>
        <a href="#"><em>01</em>Dropbox > <span>42</span></a>
        <ul class="sub-menu-2">
             <li><a href="#">Item1</a></li>
            <li><a href="#">Item2</a></li>
            <li><a href="#">Item3</a></li>
            <li><a href="#">Item4</a></li>
            <li><a href="#">Item5</a></li>
           </ul>
        </li>
                    <li>
        <a href="#"><em>02</em>Skydrive > <span>87</span></a>
        <ul class="sub-menu-2">
            <li><a href="#">Item1</a></li>
            <li><a href="#">Item2</a></li>
            <li><a href="#">Item3</a></li>
            <li><a href="#">Item4</a></li>
            <li><a href="#">Item5</a></li>
        </ul>
    </li>
Код CSS:
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
.sub-menu > li > a {
    
    background-color: trasparent;
}
 
.sub-menu > li > .sub-menu-2 {
    display: none;
}
 
.sub-menu-2 > li > a {
    
    background-color: #999999;
    color: #000000;
}
 
.sub-menu-2 > li > a:hover {
    
    background-color: #666666;
    color: #000000;
}
Код JavaScript:
JavaScript
1
2
3
4
5
6
7
var block1 = $('.sub-menu > li > a');
block1.click(function(event){
    $('.sub-menu > li > .active-2').next().slideUp('normal');
    $('.sub-menu > li > .active-2').removeClass('active-2');
    $(this).addClass('active-2');
    $(this).next().slideDown('normal');
});
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.06.2014, 16:10
Помогаю со студенческими работами здесь

Центровка пунктов в выпадающем меню по центру ul блока (Битрикс меню)
Всем привет! Требуется в выпадающем меню, т.е. в самых блоках выпадающего меню, сделать чтобы все ссылки были в центре, т.е. чтобы они...

MainMenu: поменять цвет и ширину полосы меню и пунктов меню
По форуму конкретного решения не нашел. Не подскажите, возможно ли поменять цвет и ширину полосы меню и пунктов меню в приложении ?

Адаптивное меню. Глюк в виде выделения пунктов меню
Описание проблемы.. Есть меню. При &quot;собранном&quot; состоянии, когда несколько раз нажать кнопку &quot;открыть -закрыть&quot; - выделяются...

Разработать скрипт, который выводит меню из шести пунктов, причем выбранный пункт меню подсвечивается определенным цветом.Рекомендуется использование
Разработать скрипт, который выводит меню из шести пунктов, причем выбранный пункт меню подсвечивается определенным цветом.Рекомендуется...

Меню из 4-х пунктов
Создание простого меню из 4-х пунктов, 4-й завершение работы. Добавлено через 12 минут помогите пожалуйста, отблагодарю


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru