Skip to content

Instantly share code, notes, and snippets.

@Hermesiss
Last active April 25, 2020 09:36
Show Gist options
  • Save Hermesiss/dbbe074d2d02b2c61beb8f12ed63eec3 to your computer and use it in GitHub Desktop.
Save Hermesiss/dbbe074d2d02b2c61beb8f12ed63eec3 to your computer and use it in GitHub Desktop.
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js';
document.head.appendChild(script);
var scrollX = 0;
var scrollY = 0;
var curYPos = 0;
var curXPos = 0;
var curDown = false;
$(document).on("mousemove", function (event) {
if (curDown === true) {
scrollX += (curXPos - event.pageX);
scrollY += (curYPos - event.pageY);
$(document).scrollTop(parseInt($(document).scrollTop() + (curYPos - event.pageY)));
$(document).scrollLeft(parseInt($(document).scrollLeft() + (curXPos - event.pageX)));
}
});
$(document).on("mousedown", function (e) {
curDown = true;
curYPos = e.pageY;
curXPos = e.pageX;
scrollX = 0;
scrollY = 0;
e.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation();
return false;
});
$(document).on("mouseup", function (e) {
curDown = false;
e.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation();
return false;
});
$(document).on("click", function (e) {
var canClick = Math.abs(scrollX) < 5 && Math.abs(scrollY) < 5;
console.log(scrollX, scrollY, canClick);
if (!canClick) {
e.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation();
return false;
}
});
$(window).on("mouseup", function (e) {
curDown = false;
e.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation();
return false;
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment