Jquery Superfish打开选项“onInit”

Jquery Superfish打开选项“onInit”,jquery,superfish,Jquery,Superfish,在我的一些页面上,我希望Superfish菜单插件在默认情况下一打开页面就打开一级选项。我将此选项归因于ul an id=me,并尝试实现onInit函数,但它不起作用。有人能看一下吗?谢谢 jQuery(function(){ jQuery('ul.sf-menu').superfish({ onInit: function(){$('#me',this).show();}, }); }); 您是否有任何javascript错误 您发布的代码段可能存在问题: onInit不会

在我的一些页面上,我希望Superfish菜单插件在默认情况下一打开页面就打开一级选项。我将此选项归因于ul an id=me,并尝试实现onInit函数,但它不起作用。有人能看一下吗?谢谢

jQuery(function(){
jQuery('ul.sf-menu').superfish({
    onInit: function(){$('#me',this).show();},
    });
});

您是否有任何javascript错误

您发布的代码段可能存在问题:

onInit不会因为任何原因被调用。使用alert或console.log进行检查 这在onInit中不是一个DomeElement。它可能是一个jquery对象。使用console.log进行检查
另外,这里还有一个语法错误:对象文本中的最后一个属性后面不能跟逗号。

好的,CSS部分很简单。它不使用任何可见性值,而是更改 从顶部到顶部的框位置:-999em隐藏到顶部:2.5em显示。 我为我的创建了一个单独的类,它只是Superfish可显示框的一个副本:

ul.open {
left:   0;
top:    2.5em;
z-index:    99;
}
现在,如果JS被禁用,它可以工作,但当JS被启用时,所有选项都会被折叠。 这只是我这次尝试的众多变体之一:

    onInit: function(){$('ul.open').addClass('ul.open');}
它没有任何效果,就好像这个类不存在一样

如果我尝试:

    onInit: function(){$('ul.open').html('hello');}

“hello”一词出现在鼠标上方,而不是子菜单上-但出现在鼠标上方,而不是onInit上。

谢谢您的回答,我将尝试明天检查您的建议我安装了Firebug,但还不知道如何使用它,我是一个nub。此外,我现在认为我最好找到一种方法,通过PHP动态地将一个可见的css传递给这个选项,以便让它与Desaled JS一起工作?除了控制台和网络流量监视器[console和Net tabs]之外,我没有挖掘firebug的基本用法。是的,如果您想让它在使用或不使用javascript的情况下都能正常工作,那么应该在不使用javascript的情况下设置初始状态。比如,将我改为.open,用css折叠其余部分。