Есть меню с выпадающим списком, выпадающий список появляется по клику (slideToggle()), как сделать чтобы подменю автоматически сворачивался обратно если происходит клик по другому выпадающему списку или по полю вне блока подменю?
$('.dropdown').on('click',function(){
$(this).children('.submenu').slideToggle(200);
})
*{
font-family: sans-serif;
}
ul{
list-style:none;
}
li{
display:inline-block;
background: #000;
}
a{
display:block;
padding: 10px;
color:#fff;
text-decoration: none;
}
.dropdown{
position: relative;
background: orange;
}
.submenu{
margin: 0;
padding: 0;
position: absolute;
left: 0;top: 38px;
background: pink;
display:none;
}
.submenu li{
display:block;
top: 0;
background: tomato;
}
.submenu li a{
padding: 10px 40px;
}
.submenu li:hover{
background: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<nav>
<ul>
<li><a href="#">Link1</a></li>
<li><a href="#">Link2</a></li>
<li class="dropdown">
<a href="#">Link3</a>
<ul class="submenu">
<li><a href="#">sublink1</a></li>
<li><a href="#">sublink2</a></li>
<li><a href="#">sublink3</a></li>
<li><a href="#">sublink4</a></li>
<li><a href="#">sublink5</a></li>
</ul>
</li>
<li><a href="#">Link4</a></li>
<li class="dropdown">
<a href="#">Link5</a>
<ul class="submenu">
<li><a href="#">sublink1</a></li>
<li><a href="#">sublink2</a></li>
<li><a href="#">sublink3</a></li>
<li><a href="#">sublink4</a></li>
<li><a href="#">sublink5</a></li>
</ul>
</li>
</ul>
</nav>
<hr>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Quae impedit dolorum accusamus esse fuga, non, necessitatibus cumque repellendus iure expedita adipisci nulla minus, iusto maiores quasi magni beatae suscipit cupiditate exercitationem? Debitis odit a exercitationem, asperiores, non optio quas ab commodi quam ullam est necessitatibus error vel excepturi nisi ut ad voluptatem mollitia cumque dolorum facere magnam quo. Provident corporis eaque repellat quam magnam aut rerum consequatur temporibus nesciunt expedita. At beatae modi repellendus ducimus velit ratione, sapiente voluptas amet consectetur quidem nihil possimus nobis illo quasi, in, minus non enim. Nulla, quas tenetur enim culpa quibusdam ex rerum officiis.</p>
$(document).on('click', function(e) {
if (!$(e.target).hasClass('dropdown') && !$(e.target).closest('.dropdown').length)
$('.submenu:visible').slideToggle(200);
});
$('.dropdown').on('click', function() {
$('.submenu:visible').not($(this).children('.submenu')).slideToggle(200);
$(this).children('.submenu').slideToggle(200);
});
* {
font-family: sans-serif;
}
ul {
list-style: none;
}
li {
display: inline-block;
background: #000;
}
a {
display: block;
padding: 10px;
color: #fff;
text-decoration: none;
}
.dropdown {
position: relative;
background: orange;
}
.submenu {
margin: 0;
padding: 0;
position: absolute;
left: 0;
top: 38px;
background: pink;
display: none;
}
.submenu li {
display: block;
top: 0;
background: tomato;
}
.submenu li a {
padding: 10px 40px;
}
.submenu li:hover {
background: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<nav>
<ul>
<li><a href="#">Link1</a></li>
<li><a href="#">Link2</a></li>
<li class="dropdown">
<a href="#">Link3</a>
<ul class="submenu">
<li><a href="#">sublink1</a></li>
<li><a href="#">sublink2</a></li>
<li><a href="#">sublink3</a></li>
<li><a href="#">sublink4</a></li>
<li><a href="#">sublink5</a></li>
</ul>
</li>
<li><a href="#">Link4</a></li>
<li class="dropdown">
<a href="#">Link5</a>
<ul class="submenu">
<li><a href="#">sublink1</a></li>
<li><a href="#">sublink2</a></li>
<li><a href="#">sublink3</a></li>
<li><a href="#">sublink4</a></li>
<li><a href="#">sublink5</a></li>
</ul>
</li>
</ul>
</nav>
<hr>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Quae impedit dolorum accusamus esse fuga, non, necessitatibus cumque repellendus iure expedita adipisci nulla minus, iusto maiores quasi magni beatae suscipit cupiditate exercitationem? Debitis
odit a exercitationem, asperiores, non optio quas ab commodi quam ullam est necessitatibus error vel excepturi nisi ut ad voluptatem mollitia cumque dolorum facere magnam quo. Provident corporis eaque repellat quam magnam aut rerum consequatur temporibus
nesciunt expedita. At beatae modi repellendus ducimus velit ratione, sapiente voluptas amet consectetur quidem nihil possimus nobis illo quasi, in, minus non enim. Nulla, quas tenetur enim culpa quibusdam ex rerum officiis.</p>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть код , идея в том чтобы активному пункту меню присваивался класс, сейчас класс присваивается для a href="", а нужно чтобы класс добавлялся...
Проблема в том, что на админ-панели сайта подключена библиотека datetimepicker и никак нельзя её отключитьНужно реализовать выбор несколько дат,...
День добрый! Подскажите пожалуйстаВ интернете описана кучу методов использования масок на инпутах