| 

.NET C# Java Javascript Exception

1
Hallo zusammen,

würde gerne beim auswählen einer tieferverschalchtelten navigation den zuvor ausgewählten navigationspunkt wieder schliessen wollen. Die navi ist so aufgebaut das wenn ein untermenü vorhanden ist ein pfeil eingeblendet wird. Nur wenn man diesen drückt öffnet sich das menü, andernsfalls reagiert es auf den link.

zusammengefasst:
beim öffnen eines unter-untermenüs sollen sich die anderen schließen falls zuvor eines geöffnet wurde.

habe mal im jsfiddle meinen momentanen stand integriert.
1) mainlink 2 - öffnen
2) submenu 2-3 - öffnen
3) nun submenu 2-4 - öffnen
hier müsste nun die magie stattfinden, das nämlich das submenu 2-3 sich wieder schließt.

Hoffe man hat mich verstanden xD

da link: https://jsfiddle.net/zdqj89ao/

gruß Tomas
News:
27.09.2016
GioCece 152 1 6
2 Antworten
1
habs gelöst, nur leider ist der code nicht mehr so schön kompakt. naja :)

// main nav submenu
$('ul.mainnav .dropdown').append('<div class="dropdownicon"></div>');

$('ul.mainnav.level_1 > li.dropdown > .dropdownicon').click(function(e) {
e.preventDefault();
e.stopPropagation();

var targetElement = $(this).parent().children('ul.level_2');

if (targetElement.hasClass('active-submenu')) {
// Close submenu
targetElement.removeClass('active-submenu').slideUp(250);

} else {
// Close others
$('ul.level_2').each(function(index, element) {
if($(element).hasClass('active-submenu')){
$(element).slideUp(250);
$(element).removeClass('active-submenu');
}
});

// Open submenu
targetElement.addClass('active-submenu').slideDown(250);
}

$('ul.level_3').each(function(index, element) {
if($(element).hasClass('active-submenu')){
$(element).slideUp(250);
$(element).removeClass('active-submenu');
}
});
});

$('ul.mainnav > li > ul.level_2 > li.dropdown > .dropdownicon').click(function(e) {
e.preventDefault();
e.stopPropagation();

console.log("level_2 click");

var targetElement = $(this).parent().children('ul.level_3');

if (targetElement.hasClass('active-submenu')) {
// Close submenu
targetElement.removeClass('active-submenu').slideUp(250);

} else {
// Close others
$('ul.level_3').each(function(index, element) {
if($(element).hasClass('active-submenu')){
$(element).slideUp(250);
$(element).removeClass('active-submenu');
}
});

// Open submenu
targetElement.addClass('active-submenu').slideDown(250);
}

});
29.09.2016
GioCece 152 1 6
0
Thank you very much! This is also what I need to find now! instagram online
04.04.2017

Stelle deine Javascript-Frage jetzt!