Hide other submenus when opening a new one

This commit is contained in:
Maximilian Grundke
2018-04-10 19:17:10 +02:00
parent f073042945
commit 7e5f87af0f

View File

@ -1,22 +1,27 @@
$(document).ready(function () {
var subMenusSelector = 'ul.dropdown-menu [data-toggle=dropdown]';
function openSubMenu(event) {
if (this.pathname === '/') {
event.preventDefault();
}
event.stopPropagation();
$(subMenusSelector).parent().removeClass('open');
$(this).parent().addClass('open');
var menu = $(this).parent().find("ul");
var menupos = menu.offset();
var newPos;
if ((menupos.left + menu.width()) + 30 > $(window).width()) {
var newpos = -menu.width();
newPos = -menu.width();
} else {
var newpos = $(this).parent().width();
newPos = $(this).parent().width();
}
menu.css({left: newpos});
menu.css({left: newPos});
}
$('ul.dropdown-menu [data-toggle=dropdown]').on('click', openSubMenu).on('mouseenter', openSubMenu);
$(subMenusSelector).on('click', openSubMenu).on('mouseenter', openSubMenu);
});