jQuery toggle (Klicken Sie, um ein div-Element, während Sie andere ausblenden)

Die grundlegende Idee ist, dass ich ein paar div ' s, in welcher jeder kann ein-und ausgeschaltet werden (show/hide).

Wenn man div umgeschaltet wird würde ich gerne für andere div ' s, die sind zurzeit zu verstecken, so erlauben, nur eine einzige div-werden auf einmal angezeigt.

Darüber hinaus möchte ich zu können, klicken Sie außerhalb des Elements zu verstecken, das offene div auch.

Nur um die Dinge klarer ich ein Beispiel, das derzeit tut alles, was ich will, außer den schließenden div-beim öffnen einer anderen (Nur ein div öffnen in einer Zeit, Funktionalität):

JS:

$(document).ready(function(){

  $('div.dropdown').each(function() {
    var $dropdown = $(this);

    $("a.dropdown-link", $dropdown).click(function(e) {
      e.preventDefault();
      $("div.dropdown-container", $dropdown).toggle();
      return false;
    });

});
    
  $('html').click(function(){
    $("div.dropdown-container").hide();
  });
     
});

HTML:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<div id="dropdown-1" class="dropdown dropdown-processed">
  <a class="dropdown-link" href="#">Options</a>
  <div class="dropdown-container" style="display: none;">
    <ul>
      <li>Item 1</li>
      <li>Item 2</li>
      <li>Item 3</li>
    </ul>
  </div>
</div>

<div id="dropdown-2" class="dropdown dropdown-processed">
  <a class="dropdown-link" href="#">Options</a>
  <div class="dropdown-container" style="display: none;">
    <ul>
      <li>Item 1</li>
      <li>Item 2</li>
      <li>Item 3</li>
    </ul>
  </div>
</div>

<div id="dropdown-3" class="dropdown dropdown-processed">
  <a class="dropdown-link" href="#">Options</a>
  <div class="dropdown-container" style="display: none;">
    <ul>
      <li>Item 1</li>
      <li>Item 2</li>
      <li>Item 3</li>
    </ul>
  </div>
</div>

  • Tut Akkordeon tun, was Sie wollen? jqueryui.com/demos/accordion
  • Wie es klingt, außer dass es nicht automatisch schließen, wenn Sie klicken Sie irgendwo anders.
  • Gibt es eine Einstellung für, dass, lassen Sie mich es zu finden.
  • Sorry, das Akkordeon ist ein bisschen viel für das, was ich Suche. Ich würde lieber halten Sie ist leicht, ohne die Notwendigkeit für Plug-ins.
  • Meine Antwort wird alles tun, was Sie gefragt haben, ohne schließen des Menüs, wenn Sie auf ein Menüelement klicken, (die anderen Antworten übersehen haben...).
InformationsquelleAutor walker2238 | 2012-08-02
Schreibe einen Kommentar