2016-12-08 17 views
-1

このコードを正しく実行しようとすると問題が発生します。 私は.collapsible-menuというdiv要素を持っており、アクティブになるときにZ-インデックスを変更する必要があります。 メニューをクリックすると、他のいくつかのjを介して 'menu-active'が本体に追加されます。jQuery hasClassとifステートメント

これは私が持っているものです。

jQuery(document).ready(function($){ 
    if ($("body").hasClass('menu-active')) { 
    $(".collapsible-menu").css("zIndex", 100); 
    } else { 
    $(".collapsible-menu").css("zIndex", 3); 
    } 
}); 

これは、クラスは、文書がロードされた後に追加されることに変異の観察を使用するように私を必要としていますか?もしそうなら、これは正しい道ですか?

var observer = new MutationObserver(function(mutations) { 
     mutations.forEach(function(mutation) { 
     if ($("body").hasClass('menu-active')) { 
      $(".collapsible-menu").css("zIndex", 100); 
     } else { 
      $(".collapsible-menu").css("zIndex", 3); 
     } 
     console.log(mutation.type); 
    });  
}); 
+2

はJavaScriptを使用して、不足しているよりもよりよい解決策になりますほとんど常にあります。質問やあなたのコードに誤字? – nicovank

答えて

4

CSSを使用する必要があります。あなたはCSSで何かをすることができる場合

.collapsible-menu{ 
    z-index: 3; 
} 
.menu-active .collapsible-menu{ 
    z-index: 100; 
} 

、それは ` '`

+0

私はばかだよ、私は即座にJSルートに行った。再度、感謝します。 – Lastweek

関連する問題