Skip to content
Snippets Groups Projects
menu.js 1.55 KiB
var $_expandedItems, $_allMenuItems, $_navIcon;
var _expandedClass = "et-expanded";
var _menuPauseTime = 1000;
var _menuTimeout;

function toggleWholeMenu(){
	var $expandedItems = getExpandedItems();
	if($expandedItems) {
		collapseMenu($expandedItems);
	} else {
		expandMenu($_allMenuItems);
	}
}

function expandMenu($elements) {
	$elements.addClass(_expandedClass);
	$_expandedItems = $elements;
}

function collapseMenu($expandedItems) {
	$expandedItems.removeClass(_expandedClass);
}

function isWide() {
	return $_navIcon.is(':hidden');
}

function getExpandedItems() {
	var $expandedItems = $("." + _expandedClass);
	if($expandedItems.length == 0) {
		$expandedItems = undefined;
	}
	return $expandedItems;
}


$(function(){
	$_navIcon = $(".nav-icon");
	$_allMenuItems = $(".et-first-option, .et-option, .et-last-option, .et-submenu");

	$(window).resize(function() {
		collapseMenu($_allMenuItems);
	});

	$(".et-has-children").mouseover(function(){
		if(isWide()){
			clearTimeout(_menuTimeout);
			collapseMenu($_allMenuItems);
			expandMenu($(this));
		}
	});

	$(".et-has-children").mouseout(function(){
		if(isWide()){
				_menuTimeout = setTimeout(function(){
					collapseMenu($_allMenuItems);
				}, _menuPauseTime);
		}
	});

	$(".et-submenu").mouseover(function(){
		clearTimeout(_menuTimeout);
	});

	$(".et-submenu").mouseover(function(){
		if(isWide()){
			collapseMenu($_allMenuItems);
		}
	});
	$(".no-children").mouseover(function(){
		if(isWide()){
			collapseMenu($_allMenuItems);
		}
	});

	$($_navIcon).click(function(){
		toggleWholeMenu();
	});

});