问答详情
源自:3-1 实现菜单的基本交互

不能从一级菜单平移到二级菜单

为什么怎么都平移不过去啊?

$(document).ready(function () {
    var sub = $("#sub");
    var activeRow;
    var activeMenu;
    $("#test ul")
        .on("mouseenter",function (e) {
        sub.removeClass("none");
        })
        .on("mouseleave",function (e) {
            sub.addClass("none");
            if(activeRow){
                activeRow.removeClass("active");
                activeRow = null;//不将activeRow置于null 的话,就不能再一次的激活背景色(只能激活一次)
            }
            if(activeMenu){
                activeMenu.removeClass("none");
                activeMenu = null;
            }
        })
        .on("mouseenter","li",function (e) {
            if(!activeRow){
                activeRow = $(e.target).addClass("active");
                activeMenu = $("#" + activeRow.data("id"));
                activeMenu.removeClass("none");
                return;
            }
            activeRow.removeClass("active");
            activeMenu.addClass("none");

            activeRow = $(e.target);
            activeRow.addClass("active");
            activeMenu=$("#"+ activeRow.data("id"));
            activeMenu.removeClass("none");
        })


提问者:咸鱼锅巴 2017-10-12 09:46

个回答

  • Avalondada
    2018-09-12 16:05:51

    第五行$("#test ul")这里出问题了,将事件绑在ul上就会出现这个问题,应该绑在整个的父元素上,也就是id="test"这个div上。

  • sunzhengbo
    2018-08-08 11:57:53

    我也是同样的问题,同学现在这么样了

  • 咸鱼锅巴
    2017-10-12 09:47:30

    鼠标一离开一级菜单,二级菜单就马上消失