【发布时间】:2017-11-22 21:03:39
【问题描述】:
我想在 Vanilla JavaScript 中禁用垂直滚动并将其替换为水平滚动。当我尝试替换我的滚动值时,我被阻止了。我相信有一个简单(非常简单)的解决方案!
/* We define our function ???? */
function replaceVerticalScrollByHorizontal() {
let scrollX = window.scrollX; /* Horizontal ➡️ */
let scrollY = window.scrollY; /* Vertical ⬇️ */
console.log({scrollX, scrollY});
if (scrollY !== 0) {
/* If there is a changement in verticalScroll ???? ⬇️ */
const tempScrollY = scrollY; /* We create a temporary var to stock our scrollY value */
scrollX = scrollY; /* Horizontal = Vertical */
scrollY = 0; /* We reset the vertical because we don't want any vertical scroll */
window.scrollTo(scrollX, scrollY); /* We scroll to our value */
scrollY = tempScrollY; /* We replace the value of our vertical var with the temporary one */
}
/* If no verticalScroll changement, exit of this function ???? ⬇️ */
return;
}
/* Listener on window once we start scrolling, we run our function ???? */
window.addEventListener('scroll', replaceVerticalScrollByHorizontal);
我的问题有点小问题:https://jsfiddle.net/zynj64m7/2/
【问题讨论】:
标签: javascript scroll horizontal-scrolling vertical-scrolling