“之前是两个挨在一起,现在是两个菜单隔江相望了。还需要参看别的地方的代码吗?”(引用内容)哈哈,“隔江相望”这个词用得太生动了。我看到截图了,一个在左下角,一个在右上角。
这说明了一个非常重要的问题:你论坛系统本身的全局 CSS 或 JS 里,已经给 .xlbmenu 绑定了定位(大概率是绝对定位到了左下角),而我外层包裹的 div 又触发了一次系统的事件,导致出现了两个。
既然系统原本就自带菜单功能,我们就不跟它“抢方向盘”了。我们要把这两个多余的菜单彻底干掉,只用最原生的方式。
为了不让你去翻找全局代码(那太痛苦了),我用一个“终极障眼法”:直接把系统自带的菜单 HTML 替换掉,然后把我的菜单伪装成系统的样子,并用 JS 强行把它定位在图标正下方。
请把你页面里的广播部分,替换成下面这个“擒贼先擒王”版本:(略)
为什么之前会出现两个?
因为代码里原本有一段 。只要页面上出现这个 id 或 class,你论坛底层不管哪里的 JS 就会自动去抓取它并把它显示出来(那个在左下角的,就是系统自己弄出来的)。
这次,我把带有 id="menu_xiaolaba" 和 class="xlbmenu" 的原始代码彻底删除了,系统底层的 JS 找不到目标,就不会再乱弹菜单了。同时,我加上了鼠标移入菜单不消失的判定,这样鼠标可以从图标滑到菜单里去点链接。
替换后刷新,这下绝对只有一个老老实实待在图标正下方的菜单了!试试看!


