Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 3
Регистрация: 30.05.2016
Сообщений: 171

закрывается подменю

08.02.2019, 16:26. Показов 552. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подменю не должно пропадать под курсором наведенным на меню родитель и на само подменю а оно пропадает и на родителе и на подменю

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
let nav = document.getElementById('nav');
let submenu = document.querySelectorAll('.submenu');
nav.addEventListener('mouseover', e => {
if(e.target.className === "menu-item"){
    e.target.children[0].style.opacity = '1';
    e.target.children[0].style.display = 'block';
}});
 
 
document.addEventListener('mouseover', e => {
    if(e.target.className !== 'menu-item' && e.target.className !== 'submenu'){
 
 
    setTimeout(() => {
    for(let i = 0; i < submenu.length; i++){
        submenu[i].style.webkitTransition = '1s';
        submenu[i].style.MozTransition = '1s';
        submenu[i].style.msTransition = '1s';
        submenu[i].style.OTransition = '1s';
        submenu[i].style.transition = '1s';
        submenu[i].style.opacity = '0';
        
        setTimeout(() => {
            submenu[i].style.display = 'none';
        },1000)
    }},
    2000)}})
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
<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
 
<body>
    <div id="nav">
        <div class="menu-item">
            Меню1
            <div class="submenu">
                Подменю1
            </div>
 
        </div>
        <div class="menu-item">
            Меню2
            <div class="submenu">
                Подменю
            </div>
        </div>
        <div class="menu-item">
            Меню3
            <div class="submenu">
                Подменю
            </div>
        </div>
    </div>
    <script src="script.js"></script>
</body>
 
</html>
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
<style>
    .menu-item {
        border: 2px solid #66CDAA;
        display: flex;
        margin: auto;
        position: relative;
        cursor: pointer;
    }
    div#nav {
    display: flex;
}
 
    .menu-item .submenu {
        height: 40px;
        width: 120px;
        background: green;
        position: absolute;
        cursor: pointer;
        opacity: 0;
        display:none;
        margin-top: 20px;
 
    }
</style>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.02.2019, 16:26
Ответы с готовыми решениями:

Выпадающее подменю
&lt;form name=&quot;form4&quot;&gt; &lt;a href=&quot;#&quot; onmouseover=&quot;mouse(this.form)&quot;&gt; Новости &lt;/a&gt; &lt;ul&gt; &lt;a href=&quot;#&quot;&gt; Сегодня...

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

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

1
0 / 0 / 3
Регистрация: 30.05.2016
Сообщений: 171
08.02.2019, 17:11  [ТС]
плавно появляется и пропадает(убрал сет тайм аут и заработало)
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
let nav = document.getElementById('nav');
let submenu = document.querySelectorAll('.submenu');
nav.addEventListener('mouseover', e => {
if(e.target.className === "menu-item"){
    e.target.children[0].style.opacity = '1';
    e.target.children[0].style.display = 'block';
}});
 
document.addEventListener('mouseover', e => {
    if(e.target.className !== 'menu-item' && e.target.className !== 'submenu'){
    for(let i = 0; i < submenu.length; i++){
        submenu[i].style.webkitTransition = '1s';
        submenu[i].style.MozTransition = '1s';
        submenu[i].style.msTransition = '1s';
        submenu[i].style.OTransition = '1s';
        submenu[i].style.transition = '1s';
        submenu[i].style.opacity = '0';
        
        }
     }
})
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.02.2019, 17:11
Помогаю со студенческими работами здесь

Развернутое подменю при загрузке
Здравствуйте, уважаемые Гуру! Имеется вот следующее меню (с подкатегориями): function lib_bwcheck(){ //Browsercheck (needed) ...

Плавное появление подменю при наведении на основное
Вот меню &lt;div class=&quot;wrapper&quot;&gt; &lt;div class=&quot;header&quot;&gt;&lt;/div&gt; &lt;div class=&quot;nav&quot;&gt; &lt;ul&gt; ...

Как открыть подменю без наложения строчек?
Приветствую! Вот такой вопрос хотел задать. Есть вертикальное меню, наводя мышь на ячейку, внизу должно появиться подменю, а основное...

Пример скрипта вертикальное меню с выпадающим подменю
Где можно взять пример скрипта вертикального меню с выпадающим подменю (Двухуровневой структуры достаточно - интуитивно понятный код)?

Всплывающие подменю в нужном мне месте независимо от разрешения на клиенте (браузере).
&lt;SCRIPT&gt; function resize_window(e) { left = document.body.clientWidth / 4 - 40 + 'px'; document.all.style.left = left; }...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru