2016-04-10 12 views
0

私はhttp://plushdesign.net/plush5/contact/に1つのサブメニュー付きのモバイルメニューを持っています。何らかの理由で、モバイルサイトのクリック(サイトのすべてのページで - 私はこのページを使用していますが、jsはありません)で展開を停止しました。cssモバイルサブメニューはクリック時に展開されません

(簡単にするためにトリミングされた)基本的なHTMLは次のとおりです。

<ul id="primary-main-menu" class="menu" style="display: block;"> 
<li id="menu-item-2099" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2099"> 
<li id="menu-item-1901" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-1901 hover"> 
    <a class="parent" href="http://plushdesign.net/plush5/work/">Work</a> 
     <ul class="sub-menu"> 
     <li id="menu-item-2105" class="hide menu-item menu-item-type-post_type menu-item-object-page menu-item-2105"> 
     <li id="menu-item-2104" class="hide menu-item menu-item-type-post_type menu-item-object-page menu-item-2104"> 
     </ul> 
</li> 
</ul> 

関連CSSは次のとおりです。私はどこにでも見て、私は考えることができるセレクタのすべての組み合わせを試みたが、カントている

#primary-main-menu li.hide, 
ul#primary-main-menu.menu li.hover ul.sub-menu li.hide { 
    visibility: visible; 
} 

#primary-main-menu > li.hover > ul, 
#primary-main-menu li li.hover > ul, 
#primary-main-menu li:hover ul, 
#primary-main-menu li.hover a ul { 
    display: block !important; 
    position: static !important; 
    visibility: visible !important; 
} 

なぜそれが落ちるのを止めたのか...誰かを助けることができますか?ありがとうございました。

+1

再び – Aziz

+1

@SebastienDanielを見て@SebastienDaniel @Azizに同意し、 '何の状態はありません.hover'と呼ばれるクラスがあります。 –

+0

私の問題は、 'li'内部のサブメニューulに' display:none'があると思います。 '#primary-main-menu li ul li {display:block!important}'で有効にしなければなりません。私はずっと多くの '重要な'ルールを見たことがない... – Aziz

答えて

0

.parentをクリックすると、.sub-menuli項目のクラスhideをトグルしていない、あなたのmobile-menu.jsに問題があるようです。クリックすると.menu-itemに切り替えられた.hoverクラスと同期させることを想定しています。

ブラウザのインス​​ペクタから各サブ項目のクラスhideを手動で削除してください。

何かあなたはジャバスクリプト/ jqueryのを使用する必要があるonclickのサブメニューを取得するための最良の方法

$("#primary-main-menu li a.parent").unbind('click').bind('click', function(e) { 
    e.preventDefault(); 
    $(this).parent("li").toggleClass("hover"); 
    $(this).next('.sub-menu').find('li').toggleClass("hide") // <<< line added 
}); 
+0

hideクラスを一括して削除し、それに応じてデスクトップサイトで再フォーマットします。ここから私はそれを働かせることができました。ありがとうございました! – user3106358

+0

すごくうれしいです。答えは正しいですか? –

0

のような。ここにデモがあります。早くて簡単。

jQuery(function($){ 
    $('#trigger').click(function(){ 
    $('#hide').toggleClass('expand') 
    }) 
}) 

DEMO

関連する問題