Skip to content

Instantly share code, notes, and snippets.

@giioohbernini
Last active March 2, 2017 20:57
Show Gist options
  • Save giioohbernini/b44f8a8e442aebae9f1e63f37bcd7a47 to your computer and use it in GitHub Desktop.
Save giioohbernini/b44f8a8e442aebae9f1e63f37bcd7a47 to your computer and use it in GitHub Desktop.
Responive Menu with swipe gesture
let body = document.querySelector("body");
let sidenav = document.querySelector(".side-nav");
function openNav() {
sidenav.style.transform = "translateX(250px)";
body.style.transform = "translateX(-250px)";
body.style.backgroundColor = "rgba(0,0,0,0.4)";
}
function closeNav() {
sidenav.style.transform = "translateX(250px)";
body.style.transform = "translateX(0px)";
body.style.backgroundColor = "white";
}
var touchstartX = 0,
touchstartY = 0,
touchendX = 0,
touchendY = 0;
body.addEventListener('touchstart', function(e) {
touchstartX = e.changedTouches[0].screenX;
touchstartY = e.changedTouches[0].screenY;
}, false);
body.addEventListener('touchend', function(e) {
touchendX = e.changedTouches[0].screenX;
touchendY = e.changedTouches[0].screenY;
handleGesure();
}, false);
function handleGesure() {
if ((touchendX + 80) < touchstartX) {
openNav();
}
if (touchendX > (touchstartX + 80)) {
closeNav();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment