0
$(document).ready(function(){
if (!$('body').hasClass('home') || !$('ul#main-menu li.wwd').hasClass('active')){
$("ul#sub-menu").css('display','none');
$(".main-content").css('margin-top','13px');
$("ul#sub-menu").mouseover(function() {
        $("ul#sub-menu").show();
        $(".main-content").css('margin-top','62px');

}).mouseout(function() {
        $("ul#sub-menu").hide();
        $(".main-content").css('margin-top','13px');
});
$("li.wwd").mouseover(function() {
        $("ul#sub-menu").show();
        $(".main-content").css('margin-top','62px');
}).mouseout(function() {
        $("ul#sub-menu").hide();
        $(".main-content").css('margin-top','13px');
});
}
if ($('ul#main-menu li.wwd').is('.active')){
        $(".main-content").css('margin-top','62px');

}
})

我需要在除主页之外的所有页面上运行这个 jQuery(工作正常),但也不需要在li.wwd有 class的页面上运行active。我认为这适用于 OR 操作,但事实并非如此。感谢您提前提供任何帮助。

4

2 回答 2

4

要评估!(not)两个地方的条件,您需要使用&&而不是||,就像

if (!$('body').hasClass('home') && !$('ul#main-menu li.wwd').hasClass('active'))
{
    // code goes here
}
于 2013-01-06T01:39:13.330 回答
0

由于您使用的是否定运算符 (!),因此当以下任一情况为真时,您的代码块当前正在运行:

  1. 身体没有家”类或
  2. ul#main-menu li.wwd 没有活动”类

所以我怀疑您的主页代码似乎工作正常,因为在该页面上,ul#main-menu li.wwd 可能没有“活动”类?

于 2013-01-05T21:17:28.760 回答