fix scrolling for item pages with a lot of tags
All checks were successful
fetch npm modules / f0ck the f0cker (push) Successful in 16s
All checks were successful
fetch npm modules / f0ck the f0cker (push) Successful in 16s
This commit is contained in:
@@ -307,4 +307,29 @@ window.requestAnimFrame = (function(){
|
|||||||
// <scroller>
|
// <scroller>
|
||||||
|
|
||||||
// </scroller>
|
// </scroller>
|
||||||
})();
|
})();
|
||||||
|
|
||||||
|
// disable default scroll event when mouse is on content div
|
||||||
|
// this is useful for items that have a lot of tags for example: 12536
|
||||||
|
const targetSelector = '.content'; // <-- your target class
|
||||||
|
let isMouseOver = false;
|
||||||
|
|
||||||
|
function isPageScrollable() {
|
||||||
|
return document.documentElement.scrollHeight > document.documentElement.clientHeight;
|
||||||
|
}
|
||||||
|
|
||||||
|
function onWheel(e) {
|
||||||
|
if (isMouseOver && isPageScrollable()) {
|
||||||
|
e.preventDefault();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function init() {
|
||||||
|
const el = document.querySelector(targetSelector);
|
||||||
|
if (!el) return;
|
||||||
|
el.addEventListener('mouseenter', () => isMouseOver = true);
|
||||||
|
el.addEventListener('mouseleave', () => isMouseOver = false);
|
||||||
|
window.addEventListener('wheel', onWheel, { passive: false });
|
||||||
|
}
|
||||||
|
|
||||||
|
window.addEventListener('load', init);
|
Reference in New Issue
Block a user