原理是
首先应该得到主菜单和子菜单的大小,然后用mouseover事件可以自动加一个参数e。e.getX()就是返回当前鼠标的所在位置的X轴坐标,同理e.getY()就是y轴坐标,而无论主菜单或子菜单都是一个层。用[层id].style.leftx或者[层id].style.lefty来得到层的显示位置,再根据开始时得到的主菜单或子菜单的大小来计算出当前层的范围。接下刚才已经用e.getX()和e.getY()得到了鼠标的坐标,判断该坐标是否在当前层(也就是主菜单或者子菜单的层)的显示范围内。如果在就显示该层,如果不在就隐藏改层。这就是一般下拉菜单的原理,子菜单也同样。