我有一个超级鱼菜单,延迟设置为800,但是当我从一个下拉菜单移动到另一个下拉菜单时,它仍然同时显示上一个下拉菜单和新的下拉菜单。直到800ms延迟结束,然后前一个下拉消失。我不想更改延迟,但如果打开一个新的下拉菜单,我希望以前打开的下拉菜单立即关闭。我希望这是有道理的。
有办法吗?
谢谢!
答案 0 :(得分:1)
在其网站上,延迟设置为800,我猜它工作正常,它不会显示旧的弹出窗口。您是否在其代码中进行了任何其他更改?
http://users.tpg.com.au/j_birch/plugins/superfish/#examples
编辑: 如果您不想将多个UL菜单结构修改为单个UL,那么这里是一个解决方案。只需为每个UL提供唯一ID,然后在superfish.js中修改 over = function() ,就像这样
over = function(){
var $$ = $(this), menu = getMenu($$);
$('.sf-menu').each(function(){
if ($(this).attr('id') != $(menu).attr('id')) {
$(this).hideSuperfishUl();
}
});
clearTimeout(menu.sfTimer);
$$.showSuperfishUl().siblings().hideSuperfishUl();
},
这可能会引起其他一些副作用,但我现在看不到任何副作用。