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.wwdclass を持つページでも実行する必要はありません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

否定演算子 (!) を使用しているため、これらのシナリオのいずれかが true の場合、コード ブロックは現在実行されています。

  1. bodyにクラス "home" が含まれていない、または
  2. ul#main-menu li.wwdにはクラス「アクティブ」がありませ

そのページでは、ul#main-menu li.wwd にクラス「アクティブ」がない可能性があるため、ホームページのコードは正常に動作しているように見えるのではないでしょうか?

于 2013-01-05T21:17:28.760 に答える