2016-12-08 4 views
-1

이 코드를 올바르게 실행하려고 시도하는 데 문제가 있습니다. .collapsible-menu라는 div 요소가 있고 활성화 될 때 Z- 색인을 변경해야합니다. 메뉴가 클래스를 클릭하면 'menu-active'가 다른 j를 통해 본문에 추가됩니다.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

자바 스크립트를 사용하여 실종보다 더 나은 솔루션 될 것입니다 거의 항상이다. 질문이나 코드에 오타가 있습니까? – nicovank

답변

4

CSS를 사용해야합니다. 당신이 CSS에 뭔가를 할 수 있다면

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

, 그것은``

+0

이런 젠장, 나는 바보 야. 나는 즉시 JS 루트를 갔다. 다시 한번 감사드립니다. – Lastweek