0

当我将鼠标移出子菜单时,它会向上滑动,但如果我从主菜单中鼠标移出而不专注于子菜单,则不会。这是我的代码

$('.dropdown').mouseenter(function () {
    $('.sublinks').stop(false, true).hide();
    var submenu = $(this).parent().next();
    submenu.css({
        position: 'absolute',
        top: $(this).offset().top + $(this).height() + 'px',
        left: $(this).offset().left + 'px',
        zIndex: 1
    });
    submenu.stop(true,
    true).slideDown(300);
    submenu.mouseleave(function () {
        $(this).slideUp(300);
    });
});

HTML-

<ul id ="ul1" >
        <li><a href="#" class="dropdown"></a></li>

        <li class="sublinks">
            <table cellpadding ="0" cellspacing ="0">
            <tr>
                <td><a href="Product1.aspx">Product 1
                </a></td>
            </tr>
            <tr>
                <td><a href="Product2.aspx">Product 2</a></td>
            </tr>
              <tr>
                <td><a href="Product3.aspx">Product 3</a></td>
            </tr>
            <tr>
                <td><a href="Product4.aspx">Product 4</a></td>
            </tr>
            <tr>
                <td><a href="Product5.aspx">Product 5</a></td>
            </tr>
            <tr>
                <td><a href="Product6.aspx">Product 6</a></td>
            </tr>


            </table>
        </li>

    </ul>
4

1 回答 1

1

它不会起作用,因为mouseleave必然会sublinks. 它不会发生,因为鼠标永远不会进入sublinksmouseleave您可以通过绑定到sublinksand来解决此问题dropdown(如果是dropdown处理程序,您还需要检查鼠标是否不进入sublinks)。但这对我来说不是最好的方法。

假设最好同时使用mouseleavemouseenterul1由于dropdownsublinks都是 的孩子ul1mouseleave事件将正常工作。

于 2012-08-24T20:16:24.377 回答