Skip to content

Instantly share code, notes, and snippets.

@kopiro
Created November 20, 2013 13:18
Show Gist options
  • Select an option

  • Save kopiro/7563031 to your computer and use it in GitHub Desktop.

Select an option

Save kopiro/7563031 to your computer and use it in GitHub Desktop.
Natural scrolling with Hammer JS
if (!IS_TOUCH) {
var $el = $('#YOUR_ELEMENT');
Hammer($el[0]).on("dragstart", function(e) {
$el.stop().data('dragstart', $el[0].scrollLeft).css('cursor', '-webkit-grabbing');
});
Hammer($el[0]).on("drag", function(e) {
$el[0].scrollLeft = $el.data('dragstart') - e.gesture.deltaX;
});
Hammer($el[0]).on("dragend", function(e) {
$el.css('cursor', '-webkit-grab');
var verse = e.gesture.deltaX<0 ? 1 : -1;
var cur = $el[0].scrollLeft;
$el.stop().animate({
scrollLeft: cur+verse*e.gesture.velocityX*300
}, {
easing: 'easeOutExpo',
duration: 2000
});
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment