Не могли бы вы взглянуть на эту демонстрационную версию и сообщить мне, как я могу заставить .droper
сползать вниз, пока мышь все еще не закончится над всем ребенком. <li>
s?Проблема с сохранением раскрывающегося списка вниз до тех пор, пока мышь не закончится над детьми.
Как вы можете видеть из демки .droper
начинает скользить вверх, как только мышь из .menu-itemb
(которые делают Sence мне!), Но мне нужно, чтобы держать его в режиме, пока пользователь не просматривает в выпадающем меню
$(document).ready(function(){
$(".menu-itemb").mouseover(function(){
$(".droper").stop().slideDown("slow");
});
$(".menu-itemb").mouseout(function(){
$(".droper").slideUp("slow");
});
});
body {
background: #1f1f1f;
}
.site-navigation {
\t display: block;
\t font-family: 'Titillium Web', sans-serif;
\t font-size: 16px;
\t font-weight: bold;
\t margin: 40px;
}
.site-navigation ul {
background: #3498DB;
\t list-style: none;
\t margin: 0;
\t padding-left: 0;
}
.site-navigation li {
\t color: #fff;
background: #3498DB;
\t display: block;
\t float: left;
\t margin: 0 2px 0 0;
\t padding: 12px;
\t position: relative;
\t text-decoration: none;
\t text-transform: uppercase;
}
.site-navigation li a {
color: #fff;
text-decoration: none;
display: block;
}
.site-navigation li:hover {
\t @include transition(background, 0.2s);
\t background: #52a6df;
\t cursor: pointer;
}
.site-navigation ul li ul {
\t background: #52a6df;
\t display:none;
\t float: left;
min-width: 150px;
\t position: absolute;
transition: visibility 0.65s ease-in;
margin-top:12px;
\t left: 0;
\t z-index: 999;
}
.site-navigation ul li:hover > ul,
.site-navigation ul li ul:hover {
visibility: visible;
}
.site-navigation ul li ul li {
\t clear: both;
\t padding: 5px 0 5px 18px;
width: 100%;
}
.site-navigation ul li ul li:hover {
\t background: #74b7e4;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<nav id="navigation" class="site-navigation" role="navigation">
<ul class="menu">
<li class="menu-item"><a href="#">News</a></li>
<li class="menu-itemb"><a href="#">Snippets</a>
<ul class="droper">
<li class="menu-item sub-menu"><a href="#">CSS</a></li>
<li class="menu-item sub-menu"><a href="#">HTML</a></li>
<li class="menu-item sub-menu"><a href="#">jQuery</a></li>
<li class="menu-item sub-menu"><a href="#">PHP</a></li>
<li class="menu-item sub-menu"><a href="#">WordPress</a></li>
</ul>
</li>
<li class="menu-item"><a href="#">Inspiration</a></li>
<li class="menu-item"><a href="#">Tools</a></li>
<li class="menu-item"><a href="#">Tutorials</a></li>
</ul>
</nav>
Благодаря LcSalazar, но вы можете, пожалуйста, дайте мне знать, что именно 'стоп()' здесь делает? – Suffii
Функция '.stop()' убивает любую анимацию, которая была выполнена в данный момент с помощью целевого объекта. Без него предыдущая анимация будет завершена до запуска другого. – LcSalazar
Ваш код работал, но в тот момент, когда вы перемещаете мышь и наведите указатель мыши на дочерние элементы, она быстро запускает функцию '.mouseout(). Поскольку у вас не было '.stop()', было выполнено скольжение. – LcSalazar