fuck you sirx
This commit is contained in:
parent
e56cf37f61
commit
346574887b
@ -60,15 +60,32 @@
|
||||
// </image-responsive>
|
||||
|
||||
// <scroller>
|
||||
let tts = 0;
|
||||
if(document.querySelector("div#posts")) {
|
||||
document.addEventListener("wheel", e => {
|
||||
if((window.innerHeight + window.scrollY) >= document.body.offsetHeight && e.deltaY > 0) {
|
||||
if(elem = document.querySelector(".pagination > .next:not(.disabled)"))
|
||||
changePage(elem);
|
||||
if((window.innerHeight + window.scrollY) >= document.body.offsetHeight && e.deltaY > 0) { // down
|
||||
if(elem = document.querySelector(".pagination > .next:not(.disabled)")) {
|
||||
if(tts < 2) {
|
||||
document.querySelector("div#footbar").style.backgroundColor = "var(--scroller-bg)";
|
||||
tts++;
|
||||
}
|
||||
else
|
||||
changePage(elem);
|
||||
}
|
||||
}
|
||||
else if(window.scrollY <= 0 && e.deltaY < 0) {
|
||||
if(elem = document.querySelector(".pagination > .prev:not(.disabled)"))
|
||||
changePage(elem);
|
||||
else if(window.scrollY <= 0 && e.deltaY < 0) { // up
|
||||
if(elem = document.querySelector(".pagination > .prev:not(.disabled)")) {
|
||||
if(tts < 2) {
|
||||
document.querySelector("nav.navbar").style.backgroundColor = "var(--scroller-bg)";
|
||||
tts++;
|
||||
}
|
||||
else
|
||||
changePage(elem);
|
||||
}
|
||||
}
|
||||
else {
|
||||
document.querySelector("div#footbar").style.backgroundColor = "var(--nav-bg)";
|
||||
document.querySelector("nav.navbar").style.backgroundColor = "var(--nav-bg)";
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -78,47 +95,69 @@
|
||||
if(document.location.href.match(rmatch) < document.referrer.match(rmatch))
|
||||
document.body.scrollTop = document.body.scrollHeight;
|
||||
// </scroller>
|
||||
|
||||
|
||||
// <swipe>
|
||||
let lastTap = 0;
|
||||
let xDown = null;
|
||||
let yDown = null;
|
||||
document.addEventListener('touchstart', e => {
|
||||
const firstTouch = (e.touches ?? e.originalEvent.touches)[0];
|
||||
xDown = firstTouch.clientX;
|
||||
yDown = firstTouch.clientY;
|
||||
const swipeRT = {
|
||||
xDown: null,
|
||||
yDown: null,
|
||||
xDiff: null,
|
||||
yDiff: null,
|
||||
timeDown: null,
|
||||
startEl: null
|
||||
};
|
||||
const swipeOpt = {
|
||||
treshold: 20, // 20px
|
||||
timeout: 500 // 500ms
|
||||
};
|
||||
|
||||
const currentTime = new Date().getTime();
|
||||
const tapLength = currentTime - lastTap;
|
||||
if(tapLength < 500 && tapLength > 0)
|
||||
if(elem = document.querySelector("#random"))
|
||||
changePage(elem);
|
||||
lastTap = currentTime;
|
||||
document.addEventListener('touchstart', e => {
|
||||
swipeRT.startEl = e.target;
|
||||
swipeRT.timeDown = Date.now();
|
||||
swipeRT.xDown = e.touches[0].clientX;
|
||||
swipeRT.yDown = e.touches[0].clientY;
|
||||
swipeRT.xDiff = 0;
|
||||
swipeRT.yDiff = 0;
|
||||
}, false);
|
||||
|
||||
document.addEventListener('touchmove', e => {
|
||||
if(!xDown || !yDown)
|
||||
if(!swipeRT.xDown || !swipeRT.yDown)
|
||||
return;
|
||||
const xDiff = xDown - e.touches[0].clientX;
|
||||
const yDiff = yDown - e.touches[0].clientY;
|
||||
let elem = false;
|
||||
if(Math.abs(xDiff) > Math.abs(yDiff)) {
|
||||
if(xDiff > 0) // left
|
||||
elem = document.querySelector(".pagination > .next:not(.disabled)");
|
||||
else // right
|
||||
elem = document.querySelector(".pagination > .prev:not(.disabled)");
|
||||
}
|
||||
else {
|
||||
if(navbar = document.querySelector("nav.navbar") && document.querySelector("div#posts")) {
|
||||
if(yDiff > 0 && (window.innerHeight + window.scrollY) >= document.body.offsetHeight) // up
|
||||
swipeRT.xDiff = swipeRT.xDown - e.touches[0].clientX;
|
||||
swipeRT.yDiff = swipeRT.yDown - e.touches[0].clientY;
|
||||
}, false);
|
||||
|
||||
document.addEventListener('touchend', e => {
|
||||
if(swipeRT.startEl !== e.target)
|
||||
return;
|
||||
|
||||
const timeDiff = Date.now() - swipeRT.timeDown;
|
||||
let elem;
|
||||
|
||||
if(Math.abs(swipeRT.xDiff) > Math.abs(swipeRT.yDiff)) {
|
||||
if(Math.abs(swipeRT.xDiff) > swipeOpt.treshold && timeDiff < swipeOpt.timeout) {
|
||||
if(swipeRT.xDiff > 0) // left
|
||||
elem = document.querySelector(".pagination > .next:not(.disabled)");
|
||||
else if(yDiff <= 0 && window.scrollY <= 0 && document.querySelector("div#posts")) // down
|
||||
else // right
|
||||
elem = document.querySelector(".pagination > .prev:not(.disabled)");
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(Math.abs(swipeRT.yDiff) > swipeOpt.treshold && timeDiff < swipeOpt.timeout) {
|
||||
if(navbar = document.querySelector("nav.navbar") && document.querySelector("div#posts")) {
|
||||
if(swipeRT.yDiff > 0 && (window.innerHeight + window.scrollY) >= document.body.offsetHeight) // up
|
||||
elem = document.querySelector(".pagination > .next:not(.disabled)");
|
||||
else if(swipeRT.yDiff <= 0 && window.scrollY <= 0 && document.querySelector("div#posts")) // down
|
||||
elem = document.querySelector(".pagination > .prev:not(.disabled)");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
swipeRT.xDown = null;
|
||||
swipeRT.yDown = null;
|
||||
swipeRT.timeDown = null;
|
||||
|
||||
if(elem)
|
||||
changePage(elem);
|
||||
xDown = yDown = null;
|
||||
}, false);
|
||||
// </swipe>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user