Slidebars Swap extends Adam Smith's Slidebars to display multiple content panels for an app-like interface on sites. The panels can include text, images, menus - anything that works with a standard Slidebars installation.
-
Download and install Slidebars as usual. Remember to include the CSS and initialize the script. Include
slidebars.swap.jsafter Slidebars. No additional initialization is needed. -
Place your content panels in either of your
sb-slidebardivs inside of a div wrapper with the classsb-swap-paneland a unique ID.
<div class="sb-slidebar sb-right sb-style-overlay">
<div class="sb-swap-panel" id="one">Content for panel one</div>
<div class="sb-swap-panel" id="two">Content for panel two</div>
</div>
- On any element that you want to act as a toggle for a particular panel, add
data-sbswap="theID", wheretheIDis the ID of that panel.
<button data-sbswap="one">Toggle panel one</button>
<button data-sbswap="two">Toggle panel two</button>
All done! When any element with a data-sbswap property is clicked, Slidebars Swap will close any open Slidebars, swap out their content for the panel chosen, and re-open with the correct panel. For ease of styling, it will automatically add a class of sb-active-control to all elements that toggle the currently open panel and remove the class when it is closed.
Swapping with jQuery is useful for asynchronously loading panels or for situations where data attributes aren't available. Use it like this:
$('#jquery-button').click(function(e) {
$('#yourpanel').slidebarsSwap(this, e);
});
Panels swapped this way still require a class of sb-swap-panel and a unique ID. #yourpanel is the panel being swapped in and the first parameter is the element that will receive the sb-active-control class. The second event handler parameter is necessary for Slidebars' API.