Jquery меню не прячется при отпускании мыши

0

У меня есть следующее меню (это просто значок, который должен отображать раскрывающееся меню. Я могу заставить меню показать и скрыть с помощью переключателя, но когда я это сделаю, как только я попытаюсь перейти к отображаемым ссылкам, закрывается, если я запускаю его при наведении с добавлением класса, я не могу заставить меню уйти. У кого-нибудь есть способ плавно отобразить и скрыть это меню при помощи мыши и щелкнуть?

   <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>      

Теги:

2 ответа

0
Лучший ответ

Используй это:

<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>   
  • 1
    Это проверено с вашим кодом. работая как шарм
  • 0
    Спасибо!!! Это вызвало у меня огромную головную боль за то, что я был таким маленьким меню. Ура!
0

Попробуйте что-то вроде этого: $ (document).ready(function() {

$("span#show_global_menu").hover(function () {
     $("ul#dropdown").slideDown("slow");
},function(){
      $("ul#dropdown").slideUp("slow");
});


      });
 </script>
  • 0
    Вы должны убедиться, что остановили предыдущую анимацию, если используете ее как в mouseenter и в mouseleave или вы можете создать раздражающую очередь анимации. $("ul#dropdown").stop().slideUp("slow");
  • 0
    Это работает, но как только я оставляю свою иконку (#show_global_menu) и пытаюсь навести мой список (ul # dropdown), список скользит UP.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню