Ich kodiere ein sehr einfaches Menü in JQuery. Meine Grundidee ist, dass wenn ich auf eine Schaltfläche klicke, ich möchte, dass mein Menü erscheint. Wenn dieses Menü erscheint, passieren zwei Dinge: 1) das Menü wird angezeigt, und 2) die Schaltfläche erhält eine neue Klasse, um schließen zu können. Es ist so, als würde JQuery diese neue Klasse komplett ignorieren. Was soll?Dropdown-Menü schließt nicht?
http://codepen.io/asilhavy/pen/apjvYo?editors=1010
$(".dropdown").click(function() {
\t $(".drop-item").addClass("show").removeClass("hide");
\t $(".fa-drop").addClass("fa-angle-double-down").removeClass("fa-angle-double-right");
\t $(".dropdown").addClass("close-dropdown").removeClass("dropdown");
});
$(".close-dropdown").click(function() {
\t $(".drop-item").removeClass("show").addClass("hide");
\t $(".fa-drop").removeClass("fa-angle-double-down").addClass("fa-angle-double-right");
\t $(".close-dropdown").removeClass("close-dropdown").addClass("dropdown");
});
ul {
list-style: none;
}
.hide {
display: none;
}
.show {
display: block;
}
<script src="https://use.fontawesome.com/f19ebae6ca.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="popup">
\t <li class="dropdown"><i class="fa fa-drop fa-angle-double-right" aria-hidden="true"></i> Click to Dropdown</li>
\t <li><a href="#" class="drop-item hide">Item 1</a></li>
\t <li><a href="#" class="drop-item hide">Item 2</a></li>
\t <li><a href="#" class="drop-item hide">Item 3</a></li>
\t <li><a href="#" class="drop-item hide">Item 4</a></li>
</ul>