About
Built by Loz Calver:
Demo page built with the wonderful Bootstrap, icons by Glyphicons.
Todo
In version 2 I intend to rebuild SwipeMe from the ground-up, removing all CSS requirements and instead managing the menu transitions and positioning with Javascript - using CSS translations and fallbacks where possible.
SwipeMe
A lightweight library for swiping off-canvas menus
SwipeMe is a Javascript library built to swipe open/close off-canvas navigation menus – currently relying on CSS3 animations. When a swipe is detected, SwipeMe will add (or remove) the appropriate CSS class from a main 'container' element. For an in-depth example of how to implement an off-canvas navigation pattern, see this brilliant example by Jason Weaver.
Implementation
HTML
<div id="swipeme"> <div class="off-canvas-left">Left off-canvas</div> <div class="main-content">Main content</div> <div class="off-canvas-right">Right off-canvas</div> </div>
Javascript
var swipe = new SwipeMe(document.getElementById('swipeme'));
Customisation
Disabling SwipeMe on certain elements
You may wish to prevent SwipeMe from triggering a swipe event when touching certain elements on a page – a common example being an image carousel. Simply add a data-swipeme-ignore="true"
attribute to prevent swipe events being triggered when the element, or any of its child elements, are touched.
Options
Option | Default | Description |
---|---|---|
accessClasses |
{ left: 'access-left', right: 'access-right' } |
An object containing the class names that should be applied when exposing the left and right hand menus |
direction |
[ 'left', 'right' ] |
A array describing in which direction(s) off-canvas menus are available. May be passed as a string "left" or "right" |
Caveats
Browser Support
As the library currently only adds and removes CSS classes, all animations are CSS-generated – so <=IE9 and Opera Mini won't get any animations. Ancient versions of IE will need also the Array.indexOf prototype available here.
iOS 7
iOS 7 adds swipe navigation gestures to Safari, which (as far as I'm aware) can't be disabled. It's still possible to use this library with iOS 7 – the native gestures are only triggered when swiping from the very edge of the page.