Dev Depot: Sidr, Mobile Friendly Side Menus
As the mobile Internet gains in popularity, screen sizes are shrinking, just as feature sets are growing. This induces a whole new set of issues for web designers seeking to fit links to all of the relevant products and services, without cluttering content or limiting the space available to display that content. One popular solution is the use of hidden menus that are only displayed in response to user input, expanding and collapsing as needed through the power of jQuery.
Sidr (www.berriart.com/sidr/) is a jQuery plugin by Alberto Varela for creating responsive, mobile friendly Facebook-style side menus, and claims to be the easiest way for making your website’s menus responsive.
Varela was inspired by the way Facebook implements its menu on mobile devices.
“The major reason for creating this plugin was just being able to easily add existing content (like a menu, a search box, social icons, etc.) to a menu in small screens,” Varela explains. “Simply load existing HTML into a Sidr, and then, hide this HTML and show the menu button with media queries.”
“You will be able to create multiple Sidrs on both sides of your web page to make responsive menus (or not, it works perfectly on desktops too),” Varela adds. “Fill the Sidrs normally, with existing content, remote content, or whatever you want.”
In its simplest usage, webmasters create a DIV called sidr and place a menu there. The plugin is then activated by binding it to a hyperlink. By default, this menu will not be visible and will only be displayed or hidden by clicking on the link.
With Sidr you can create as many menus as you want on the same page, placing them at either the right or left side of the screen. When creating more than one menu, however, you need to name them with unique identifiers. If you do not create a container DIV for the menu, then the plugin will create it for you.
There are multiple ways to load content into Sidr menus, including external URLs and internal functions. In its simplest usage, it takes no more than placing the content into a DIV to create the menu, as seen in the example above.
“The most common way is to load existing HTML into the menu,” Varela states. “You can add as many selectors as you want and they will be loaded in order.”
Sidr makes it possible to load remote content easily via AJAX. For those who need a more complex way to load content into the menu, callback functions are easily created — as are more sophisticated responsive menus.
Sidr allows users to open or close menus programmatically and to bind them to any event, including using an external library to implement touch events, such as a right/left swipe touch event that opens or closes the responsive menu.
As with other plugins, Sidr must be included after the jQuery script call. Varela notes that a performance boost can be had by loading the script at the bottom of your web page, or asynchronously.
Sidr also includes two themes (style sheets) with the plugin, one dark, and a light one; although webmasters are not required to use these styles, they must then create their own.
The Sidr website offers several coding examples to get you quickly up and running, while providing inspiration for your own deployment methods.
If you’re looking for an attractive and accessible way to offer the most links in the least space, with a great user experience, then Sidr may be for you.