为何要手写?既定的时间内没有找到合适的现有选择,放弃无谓的搜寻,自己写一个。 基本原理 菜单数据接口获取,一级菜单UI事件监听,对应的下层二级菜单放到一级菜单item的dataset属性里,事件触发时取出并显示。 事件监听(由于菜单之前不存在,于父层监听菜单item的冒泡事件)。 一级菜单:监听mouseover而不是mouseenter,二级菜单监听click并实现跳转页面 草图 效果图 存在的问题 一级菜单快速移动时存在轻微的卡顿 分析与猜测 .频繁的事件触发 如下图所示: 因此,我们可以在菜单item之间添加一些外边距