0
我有一个超级鱼菜单,延迟设置为800,但是当我从一个下拉菜单移动到另一个时,它仍然同时显示上一个下拉菜单和新下拉菜单。直到800ms延迟结束,然后前一个下拉消失。我不想改变延迟,但如果打开新的下拉列表,我希望先前打开的下拉列表立即关闭。我希望这是有道理的。超级鱼,一次打开2个菜单 - 如何防止?
有没有办法做到这一点?
谢谢!
我有一个超级鱼菜单,延迟设置为800,但是当我从一个下拉菜单移动到另一个时,它仍然同时显示上一个下拉菜单和新下拉菜单。直到800ms延迟结束,然后前一个下拉消失。我不想改变延迟,但如果打开新的下拉列表,我希望先前打开的下拉列表立即关闭。我希望这是有道理的。超级鱼,一次打开2个菜单 - 如何防止?
有没有办法做到这一点?
谢谢!
在其网站上,延迟设置为800,我想它工作得很好,它不会显示老弹出。你的代码做了其他更改吗?
http://users.tpg.com.au/j_birch/plugins/superfish/#examples
编辑: 确定这里是如果你不希望修改多个UL菜单结构单一UL的解决方案。只要给唯一的ID给每个UL,然后修改超过=()函数在superfish.js这样
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();
},
这可能会导致一些其他的副作用,但我看不出有任何的现在。
我没有更改.css或.js文件,但我使用自己的ul-li布局,与示例略有不同。所以当我初始化它时,我会调用$('#navigation ul')。superfish()而不是$('ul.sf-menu')。superfish()。除了没有我不关心的投影之外,其他所有东西似乎都能奏效,但当新的投影开启时,开放的投影不会立即关闭,这很烦人。我想知道是否有一个属性或我需要添加到我的列表结构来使其工作? – 2010-03-09 15:41:10
@John:你有一个在线演示,所以我可以比较吗? – Ergec 2010-03-09 20:58:24
我添加了一个演示链接 – 2010-03-10 14:00:26