我有超级鱼菜单,我希望它在所有情况下都能按预期运行,除了我有一些我想要一直打开的子菜单项。我给了他们一类sf-exclude
<ul class="sf-menu">
<li><a>Parent Item</a>
<ul> ... </ul> <-- this behaves as expected
</li>
<li><a>Parent Item</a>
<div class="sf-mega">
<ul class="sf-exclude"> ... </ul> <-- these menu items remain open always but retain sfHover toggle
<ul class="sf-exclude"> ... </ul>
</div>
</li>
</ul>
在我的JavaScript中,我有类似的东西:
jQuery(".sf-menu").superfish({
onHide: function() {
if (this.attr('class') == 'sf-exclude'){return false;} <-- this is not preventing the hide
}
});
我试过onBeforeHide。我已经调整了CSS中的所有内容。不知道我做错了什么......有什么建议吗?
答案 0 :(得分:0)
我找到了答案:
jQuery(".sf-menu").superfish({
onBeforeHide: function() {
if (this.attr('class') == 'sf-exclude'){
this.stop(true,true);
}
}
});
最大的关键是停止执行当前堆栈中的任何jQuery动画,但允许进程继续运行,以便我可以保持添加sfHover类等。使用stop(true,true)
执行此操作。