Skip to content

Instantly share code, notes, and snippets.

@acerspyro
Created October 27, 2015 21:18
Show Gist options
  • Save acerspyro/ba4f8ecca117f951379d to your computer and use it in GitHub Desktop.
Save acerspyro/ba4f8ecca117f951379d to your computer and use it in GitHub Desktop.
function swipeLogic() {
sitecanvas.style.transition = "";
$("body")[0].addEventListener('touchstart', function(event) {
touchStartX = parseInt(event.changedTouches[0].clientX);
event.preventDefault();
}, false);
$("body")[0].addEventListener('touchmove', function(event) {
var sitecanvas = document.getElementById("sitecanvas"),
sbwidth = document.getElementById("leftsidebar").offsetWidth,
dX = parseInt(event.changedTouches[0].clientX)-touchStartX;
if (dX < -5){ // GOES RIGHT
if (!elemHasClass(sitecanvas, 'show_rightpanel')) {
if (0-dX < sbwidth) {
if (elemHasClass(sitecanvas, 'show_leftpanel'))
sitecanvas.style.transform = 'translateX('+(dX+sbwidth+5)+'px)';
else
sitecanvas.style.transform = 'translateX('+(dX+5)+'px)';
} else {
if (elemHasClass(sitecanvas, 'show_leftpanel'))
sitecanvas.style.transform = 'translateX(0px)';
else
sitecanvas.style.transform = 'translateX(-'+sbwidth+'px)';
}
}
} else if (dX > 5) { // GOES LEFT
if (!elemHasClass(sitecanvas, 'show_leftpanel')) {
if (dX < sbwidth) {
if (elemHasClass(sitecanvas, 'show_leftpanel'))
sitecanvas.style.transform = 'translateX('+(dX-sbwidth-5)+'px)';
else
sitecanvas.style.transform = 'translateX('+(dX-5)+'px)';
} else {
if (elemHasClass(sitecanvas, 'show_rightpanel'))
sitecanvas.style.transform = 'translateX(0px)';
else
sitecanvas.style.transform = 'translateX('+sbwidth+'px)';
}
}
}
hDistancePan = dX;
event.preventDefault();
}, false);
$("body")[0].addEventListener('touchend', function(event) {
var sitecanvas = document.getElementById("sitecanvas"),
sbwidth = document.getElementById("leftsidebar").offsetWidth;
sitecanvas.style.transform = '';
if (hDistancePan > 5+(sbwidth / 4)){
if (elemHasClass(sitecanvas, 'show_rightpanel'))
sitecanvas.className = '';
else if (!elemHasClass(sitecanvas, 'show_leftpanel'))
sitecanvas.className = 'show_leftpanel';
} else if (hDistancePan < -5-(sbwidth / 4)) {
if (elemHasClass(sitecanvas, 'show_leftpanel'))
sitecanvas.className = '';
else if (!elemHasClass(sitecanvas, 'show_rightpanel'))
sitecanvas.className = 'show_rightpanel';
}
sitecanvas.style.transition = ".3s ease all";
event.preventDefault()
}, false);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment