0

私は「jquery-1.7.1.min.js」を使用しています。メニューに入ると、ドロップダウンがスムーズにスライドダウンするはずですが、連続して発生しません。非常に一貫性がなく、何も表示されないこともあれば、引き続き表示されることもありますスライドアップとスライドダウン。それから私を助けてください。

以下のコードを使用しています

HTML :

<nav>
    <ul class="menuList">
      <li><a href="#">Main Menu</a>
        <div class="submenu">
          <div class="submenuInner">
            <div class="menus clearfix">
           <ul class="firstlist">
                <li><a href="">Sub Menu Left 1</a></li>
                <li><a href="">Sub Menu Left 2</a></li>
                <li><a href="">Sub Menu Left 3</a></li>
                <li><a href="">Sub Menu Left 4</a></li>
                <li><a href="">Sub Menu Left 5</a></li>
           </ul>
           <ul>
                <li><a href="">Sub Menu Right 1</a></li>
                <li><a href="">Sub Menu Right 2</a></li>
                <li><a href="">Sub Menu Right 3</a></li>
                <li><a href="">Sub Menu Right 4</a></li>
                <li><a href="">Sub Menu Right 5</a></li>
              </ul>
           </div>
          </div>
        </div>
      </li>
    </ul>
</nav>

脚本 :

$(document).ready(function() {
$(".menuList li").mouseenter( function() {
        $(this).find(".submenuInner").stop().css({"margin-top":"0"});
    $(this).children(".submenu").slideDown("slow");
    });

    //console.log("menuin");

    $(".menuList li").mouseleave( function() {
        $(this).children(".submenu").slideUp("slow");
        //$(this).find(".submenuInner").animate({marginTop:"-100%"},{queue :false,duration :50});
        $(this).find(".submenuInner").animate({marginTop:"-100%"},500);
    });
});
4

2 に答える 2

1

試す

$(document).ready(function() {
    $(".menuList li").mouseenter( function() {
        $(this).find(".submenuInner").stop(true, true).css({"margin-top":"0"});
        $(this).children(".submenu").stop(true, true).slideDown("slow");
    });

    //console.log("menuin");

    $(".menuList li").mouseleave( function() {
        $(this).children(".submenu").stop(true, true).slideUp("slow");
        //$(this).find(".submenuInner").animate({marginTop:"-100%"},{queue :false,duration :50});
        $(this).find(".submenuInner").stop(true, true).animate({marginTop:"-100%"},500);
    });
});

デモ:フィドル

于 2013-09-11T11:09:25.840 に答える
0

このコードを使用してください:デモ

 $(document).ready(function () {
    $(".menuList li").hover(
        function () {
            $(this).find(".submenuInner").stop(true, true).css({
                "margin-top": "0"
            });
            $(this).children(".submenu").slideDown("slow");
        },
        function () {
            $(this).children(".submenu").slideUp("slow");
            $(this).find(".submenuInner").animate({
                marginTop: "-100%"
            }, 500);
        }
    );
});
于 2013-09-11T11:10:05.613 に答える