2017-04-03 3 views
0

で子メニューが選択されているときに、選択した親メニューを開いたままにします。ページが読み込まれると、accordianのサブメニューの1つが選択されます。Js accordianメニュー

第1の親メニューの第1のサブメニューは選択されていますが、ロードすると第1の親メニューは展開されません。

目的はHTML-- -------------- esxpandedとしてサブメニュー1がすでに

を選択すると、このフィドル https://jsfiddle.net/shaswatatripathy/ucgff65k/8/

をチェックアウトメニュー2をロードすることです------------

<ul id="accordion" class="accordion"> 
         <li> 
          <div class="link">Menu 2</div> 
          <ul class="submenu"> 
           <li class="active" ><a href="#">submenu1</a></li> 
           <li><a href="#">submenu1</a></li> 
           <li><a href="#">submenu1</a></li> 
          </ul> 
         </li> 
         <li> 
          <div class="link">Menu 3</div> 
          <ul class="submenu"> 
           <li><a href="#">submenu1</a></li> 
           <li><a href="#">submenu1</a></li> 
           <li><a href="#">submenu1</a></li> 
          </ul> 
         </li> 
         </ul> 
+0

あなたはそこに問題のカップルがあります:(1)質問自体に関連するすべてのコードを含め、外部リンクに依存しない(2)あなたは、アクティブとして 'li'をマークしているが、あなたのコードでは 'a'を使用してオプションをアクティブとしてマークしています。 (3)クリックハンドラのみをコード化しているので、なぜアコーディオンが自動的に展開すると思いますか?あなたはそのコードを書いていますか? (4)ここを見てどこが間違っているかを見てください - https://jsfiddle.net/abhitalks/ucgff65k/10/ – Abhitalks

答えて

0

サブアイテムの状態を確認し、リストアイテムの1つがアクティブな場合は、そのサブアイテムの状態を確認することができます。

if ($('#accordion .submenu li.active').length > 0) { 
     $($('#accordion .submenu li.active')[0]).parent().show(); 
    } 

https://jsfiddle.net/xwfp6cy1/

+0

HI Alisher、コードありがとう – tripathy

関連する問題