Sidebar menu I'm making in JSFiddle: https://jsfiddle.net/jvp2h1am/.
Should be fairly simple. How can I refactor my JS to show the slide/submenu for the button that's clicked on without making a separate function for each button?
Also, how could I make it so that when one of these menus is opened by clicking on the button, the currently open submenu is closed? Example: Personal menu is open, click on business button to open business menu, personal menu also closes in same function.
HTML:
<div id="sidebarPrimary">
<ul id="sidebarPrimaryNav">
<li class="navButton"><a href="#" target="blank_">JA</a></li>
<li id="homeButton" class="navButton active"><a href="#">
<div class="navButtonContent">
<span class="fa fa-lg fa-home"></span>Home
</div>
</a></li>
<li id="personalButton" class="navButton"><a href="#">
<div class="navButtonContent">
<span class="fa fa-lg fa-user"></span>Personal
</div>
</a></li>
<li id="businessButton" class="navButton"><a href="#">
<div class="navButtonContent">
<span class="fa fa-lg fa-briefcase"></span>Business
</div>
</a></li>
<li id="invoicesButton" class="navButton"><a href="#">
<div class="navButtonContent">
<span class="fa fa-lg fa-gbp"></span>Invoices
</div>
</a></li>
<li id="contactsButton" class="navButton"><a href="#">
<div class="navButtonContent">
<span class="fa fa-lg fa-address-book"></span>Contacts
</div>
</a></li>
<li id="expensesButton" class="navButton"><a href="#">
<div class="navButtonContent">
<span class="fa fa-lg fa-minus"></span>Expenses
</div>
</a></li>
<li id="payslipsButton" class="navButton"><a href="#">
<div class="navButtonContent">
<span class="fa fa-lg fa-list"></span>Payslips
</div>
</a></li>
</ul>
</div>
<div id="personalMenu" class="submenu">
<ul class="submenuGroup">
<li class="navButtonSub active"><a href="#">One<span>5</span></a></li>
<li class="navButtonSub"><a href="#">Two<span>3</span></a></li>
<li class="navButtonSub"><a href="#">Three<span>6</span></a></li>
</ul>
<ul class="submenuGroup">
<li class="navButtonSub"><a href="#">Four<span>9</span></a></li>
<li class="navButtonSub"><a href="#">Five<span>3</span></a></li>
<li class="navButtonSub"><a href="#">Six<span>2</span></a></li>
</ul>
<ul class="submenuGroup">
<li class="navButtonSub"><a href="#">Seven<span>11</span></a></li>
<li class="navButtonSub"><a href="#">Eight<span>0</span></a></li>
<li class="navButtonSub"><a href="#">Nine<span>2</span></a></li>
</ul>
</div>
<div id="businessMenu" class="submenu">
<ul class="submenuGroup">
<li class="navButtonSub active"><a href="#">One<span>5</span></a></li>
<li class="navButtonSub"><a href="#">Two<span>3</span></a></li>
<li class="navButtonSub"><a href="#">Three<span>6</span></a></li>
</ul>
<ul class="submenuGroup">
<li class="navButtonSub"><a href="#">Four<span>9</span></a></li>
<li class="navButtonSub"><a href="#">Five<span>3</span></a></li>
<li class="navButtonSub"><a href="#">Six<span>2</span></a></li>
</ul>
<ul class="submenuGroup">
<li class="navButtonSub"><a href="#">Seven<span>11</span></a></li>
<li class="navButtonSub"><a href="#">Eight<span>0</span></a></li>
<li class="navButtonSub"><a href="#">Nine<span>2</span></a></li>
</ul>
</div>
<div id="invoicesMenu" class="submenu">
<ul class="submenuGroup">
<li class="navButtonSub active"><a href="#">One<span>5</span></a></li>
<li class="navButtonSub"><a href="#">Two<span>3</span></a></li>
<li class="navButtonSub"><a href="#">Three<span>6</span></a></li>
</ul>
<ul class="submenuGroup">
<li class="navButtonSub"><a href="#">Four<span>9</span></a></li>
<li class="navButtonSub"><a href="#">Five<span>3</span></a></li>
<li class="navButtonSub"><a href="#">Six<span>2</span></a></li>
</ul>
<ul class="submenuGroup">
<li class="navButtonSub"><a href="#">Seven<span>11</span></a></li>
<li class="navButtonSub"><a href="#">Eight<span>0</span></a></li>
<li class="navButtonSub"><a href="#">Nine<span>2</span></a></li>
</ul>
</div>
<div id="contactsMenu" class="submenu">
<ul class="submenuGroup">
<li class="navButtonSub active"><a href="#">One<span>5</span></a></li>
<li class="navButtonSub"><a href="#">Two<span>3</span></a></li>
<li class="navButtonSub"><a href="#">Three<span>6</span></a></li>
</ul>
<ul class="submenuGroup">
<li class="navButtonSub"><a href="#">Four<span>9</span></a></li>
<li class="navButtonSub"><a href="#">Five<span>3</span></a></li>
<li class="navButtonSub"><a href="#">Six<span>2</span></a></li>
</ul>
<ul class="submenuGroup">
<li class="navButtonSub"><a href="#">Seven<span>11</span></a></li>
<li class="navButtonSub"><a href="#">Eight<span>0</span></a></li>
<li class="navButtonSub"><a href="#">Nine<span>2</span></a></li>
</ul>
</div>
<div id="expensesMenu" class="submenu">
<ul class="submenuGroup">
<li class="navButtonSub active"><a href="#">One<span>5</span></a></li>
<li class="navButtonSub"><a href="#">Two<span>3</span></a></li>
<li class="navButtonSub"><a href="#">Three<span>6</span></a></li>
</ul>
<ul class="submenuGroup">
<li class="navButtonSub"><a href="#">Four<span>9</span></a></li>
<li class="navButtonSub"><a href="#">Five<span>3</span></a></li>
<li class="navButtonSub"><a href="#">Six<span>2</span></a></li>
</ul>
<ul class="submenuGroup">
<li class="navButtonSub"><a href="#">Seven<span>11</span></a></li>
<li class="navButtonSub"><a href="#">Eight<span>0</span></a></li>
<li class="navButtonSub"><a href="#">Nine<span>2</span></a></li>
</ul>
</div>
<div id="payslipsMenu" class="submenu">
<ul class="submenuGroup">
<li class="navButtonSub active"><a href="#">One<span>5</span></a></li>
<li class="navButtonSub"><a href="#">Two<span>3</span></a></li>
<li class="navButtonSub"><a href="#">Three<span>6</span></a></li>
</ul>
<ul class="submenuGroup">
<li class="navButtonSub"><a href="#">Four<span>9</span></a></li>
<li class="navButtonSub"><a href="#">Five<span>3</span></a></li>
<li class="navButtonSub"><a href="#">Six<span>2</span></a></li>
</ul>
<ul class="submenuGroup">
<li class="navButtonSub"><a href="#">Seven<span>11</span></a></li>
<li class="navButtonSub"><a href="#">Eight<span>0</span></a></li>
<li class="navButtonSub"><a href="#">Nine<span>2</span></a></li>
</ul>
</div>
JS:
$(document).ready(function() {
$('#personalButton').click(function() {
$('#personalMenu').toggleClass('open');
});
$('#businessButton').click(function() {
$('#businessMenu').toggleClass('open');
});
$('#invoicesButton').click(function() {
$('#invoicesMenu').toggleClass('open');
});
$('#contactsButton').click(function() {
$('#contactsMenu').toggleClass('open');
});
$('#expensesButton').click(function() {
$('#expensesMenu').toggleClass('open');
});
$('#payslipsButton').click(function() {
$('#payslipsMenu').toggleClass('open');
});
})