You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.4 KiB
40 lines
1.4 KiB
$.sidebarMenu = function(menu) {
|
|
var animationSpeed = 300;
|
|
|
|
$(menu).on('click', 'li a', function(e) {
|
|
var $this = $(this);
|
|
var checkElement = $this.next();
|
|
|
|
if (checkElement.is('.treeview-menu') && checkElement.is(':visible')) {
|
|
checkElement.slideUp(animationSpeed, function() {
|
|
checkElement.removeClass('menu-open');
|
|
});
|
|
checkElement.parent("li").removeClass("active");
|
|
}
|
|
|
|
//If the menu is not visible
|
|
else if ((checkElement.is('.treeview-menu')) && (!checkElement.is(':visible'))) {
|
|
//Get the parent menu
|
|
var parent = $this.parents('ul').first();
|
|
//Close all open menus within the parent
|
|
var ul = parent.find('ul:visible').slideUp(animationSpeed);
|
|
//Remove the menu-open class from the parent
|
|
ul.removeClass('menu-open');
|
|
//Get the parent li
|
|
var parent_li = $this.parent("li");
|
|
|
|
//Open the target menu and add the menu-open class
|
|
checkElement.slideDown(animationSpeed, function() {
|
|
//Add the class active to the parent li
|
|
checkElement.addClass('menu-open');
|
|
parent.find('li.active').removeClass('active');
|
|
parent_li.addClass('active');
|
|
});
|
|
}
|
|
//if this isn't a link, prevent the page from being redirected
|
|
if (checkElement.is('.treeview-menu')) {
|
|
e.preventDefault();
|
|
}
|
|
});
|
|
}
|