У меня есть следующее меню (это просто значок, который должен отображать раскрывающееся меню. Я могу заставить меню показать и скрыть с помощью переключателя, но когда я это сделаю, как только я попытаюсь перейти к отображаемым ссылкам, закрывается, если я запускаю его при наведении с добавлением класса, я не могу заставить меню уйти. У кого-нибудь есть способ плавно отобразить и скрыть это меню при помощи мыши и щелкнуть?
<div id="global_menu">
<span id="show_global_menu" class="icons_large">(</span>
<ul id="dropdown" class="hidden">
<span class="arrow-u" style="margin-top:-8px;"></span>
<li> @Ajax.ActionLink("Icon Legend", "font_legend", null, new AjaxOptions { UpdateTargetId = "placeholder_extra1", InsertionMode = InsertionMode.Replace, HttpMethod = "GET" }, new { @class = "" })</li>
<li><a href="../Home/Index" title="Sign Out">Sign Out</a></li>
<li>Support</li>
</ul>
</div>
<script>
$(document).ready(function () {
if ($("ul#dropdown").hasClass("hidden")) {
$("span#show_global_menu").hover(function () {
$("ul#dropdown").slideDown("slow");
});
};
$("ul#dropdown").hover(function(){
$("ul#dropdown").mouseout(function () {
$("ul#dropdown").addClass("hidden");
});
});
});
</script>
Используй это:
<script>
$(document).ready(function () {
if ($("ul#dropdown").hasClass("hidden")) {
$("span#show_global_menu").hover(function () {
$("ul#dropdown").slideDown("slow");
});
};
$("ul#dropdown").mouseleave(function () {
$("ul#dropdown").slideUp('slow');
});
});
</script>
Попробуйте что-то вроде этого: $ (document).ready(function() {
$("span#show_global_menu").hover(function () {
$("ul#dropdown").slideDown("slow");
},function(){
$("ul#dropdown").slideUp("slow");
});
});
</script>
mouseenter
и в mouseleave
или вы можете создать раздражающую очередь анимации. $("ul#dropdown").stop().slideUp("slow");