Skip to content

Instantly share code, notes, and snippets.

@manciuszz
Last active February 21, 2019 23:58
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Embed
What would you like to do?
Does not being able to read manga on KissManga.com just by using your keyboard bother you? Well this quick script will fix that by enabling to change chapters by using keyboard left and right arrow keys while enabling support for W/S scrolling for the left handed people.
// ==UserScript==
// @name KissManga Quick Enhancements
// @author Manciuszz
// @version 0.1
// @match *://kissmanga.com/Manga/*/*
// ==/UserScript==
(function() {
'use strict';
let scrollTo = function(to, duration) { // Credits to https://gist.github.com/andjosh/6764939 for this one.
let element = document.scrollingElement || document.documentElement,
start = element.scrollTop,
change = to - start,
startDate = +new Date(),
easeInOutQuad = function(t, b, c, d) {
t /= d/2;
if (t < 1) return c/2*t*t + b;
t--;
return -c/2 * (t*(t-2) - 1) + b;
},
animateScroll = function() {
const currentDate = +new Date();
const currentTime = currentDate - startDate;
element.scrollTop = parseInt(easeInOutQuad(currentTime, start, change, duration));
if (currentTime < duration) {
requestAnimationFrame(animateScroll);
} else {
element.scrollTop = to;
}
};
animateScroll();
};
let scrollIncrementor = function(direction = 1, step = 100) {
return window.scrollY + step * direction;
};
$(document).on('keydown', function(evt) {
if (evt.keyCode === 37) { // LEFT
window.location.href = $("img.btnPrevious").parent('a').get(0).href;
} else if (evt.keyCode === 39) { // RIGHT
window.location.href = $("img.btnNext").parent('a').get(0).href;
} else if (evt.keyCode === 87) { // W
scrollTo(scrollIncrementor(-1, 200), 100);
} else if (evt.keyCode === 83) { // S
scrollTo(scrollIncrementor(1, 200), 100);
}
});
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment