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...).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du im Grunde nur verstecken muss alle divs, außer dem einen, ausgeschaltet wird:
JS:
HTML:
Versuchen Sie Folgendes:
DEMO
Machte ich es so kurz wie möglich! Happy coding!
Demo: http://jsfiddle.net/NFTFw/60/
Können Sie durch intelligente und einfache Weise zu implementieren, indem Sie mit folgenden code :
JS:
HTML:
Arbeiten Beispiel-Link : http://jsfiddle.net/NFTFw/1901/
Hier gehen Sie:
Beachten Sie die hinzugefügte Zeile:
Wir einfach ausblenden all die Dinge, die vor dem ein-und ausschalten der div wir wollen.
http://jsfiddle.net/NFTFw/40/
.hide()
überprüfen Sie zuerst, und dann den provisorischen Knebel nicht das problem lösen.Dieser code sollte den trick tun, ohne die Verwendung von zusätzlichen Bibliotheken. 🙂
http://jsfiddle.net/NFTFw/42/