2017-06-28 3 views
0

Ich benutze this offizielle Bootstrap-Dashboard-Vorlage. Durch Klicken auf einen Unterpunkt im Dropdown-Menü in der Seitenleiste wird die angeklickte Webseite geladen, aber aufgrund der Tatsache, dass jede HTML-Seite eine eigene (gleiche) Seitenleiste hat, wird das Dropdown-Menü geschlossen. Ich habe dieses Problem gelöst, indem ich den Seitenleisten der Unterseiten den Parameter "collapse in" hinzugefügt habe. Es funktioniert gut, aber es führt auch zu dem Problem, dass ein Klick auf das Dropdown-Menü öffnet die Drop-down-Liste, obwohl es bereits geöffnet ist. Sie müssen also zweimal klicken, um es zu schließen.Bootstrap Sidebar Dropdown schließt nach zweimaligem Klicken

Kann jemand dieses Problem lösen oder gibt es einen besseren Weg, der meinen Anforderungen entspricht?

Vielen Dank!

Der folgende Code beschreibt den Beginn der Seitenleiste von subpage1:

<div class="collapse navbar-collapse navbar-ex1-collapse"> 
      <ul class="nav navbar-nav side-nav"> 
       <li> 
        <a href="index.html"><i class="fa fa-fw fa-dashboard"></i> Dashboard</a> 
       </li> 
       <li class="active"> 
        <a href="javascript:;" data-toggle="collapse" data-target="#item1"> Item A<i class="fa fa-fw fa-caret-down"></i></a> 
        <ul id="subitems" class="collapse in"> 
         <li class="active"> 
          <a href="#">SubItem1</a> 
         </li> 
         <li> 
          <a href="#">SubItem2</a> 
         </li> 

Antwort

0

Da Sie zwischen den Seiten navigieren Sie den Zustand des Drop-Down in session oder local

$(".subitems").on('shown.bs.collapse', function(){ 
     // Save in sessionStorage here 
}); 
$(".subitems").on('hidden.bs.collapse', function(){ 
     // Save in sessionStorage here 
}); 

und Verwendung stor könnten Javascript, wenn die Seite geladen wird, um die Dropdownlisten zu erweitern, die zuvor erweitert wurden. Zum Beispiel

$('.subitems').collapse("show"); 
+0

Könnten Sie bitte den fehlenden Code in die Klammern zu einem vollständigen Arbeitscode einfügen? – Dave