[英]Change Scroll Direction Mid Page and then Revert Back
If you look at your scroll bar, the direction isn't actually being changed.如果你看看你的滚动条,方向实际上并没有改变。 During the horizontal portion, the "scrolling" area gets
position: fixed
and fills the screen, then it is shifted towards the left as you continue scrolling down.在水平部分,“滚动”区域获得
position: fixed
并填满屏幕,然后在您继续向下滚动时向左移动。 This gives the illusion of horizontal scrolling when there is none.当没有水平滚动时,这会产生水平滚动的错觉。
Here's an example, though without the transition between vertical and horizontal scrolling.这是一个示例,尽管没有垂直和水平滚动之间的过渡。
document.onscroll = () => { // adjust for the difference between window height and width let percentScrolled = window.pageYOffset / window.innerHeight; let toScroll = percentScrolled * window.innerWidth; // scroll horizontally document.getElementById("scroll").style.left = "-" + toScroll + "px"; }
body { width: 100vw; height: 500vh; overflow-x: hidden; } div { width: 500vw; position: fixed; }
<div id = "scroll">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ac leo nulla. Donec volutpat consequat elit ut tincidunt. Proin id purus sed nulla lacinia eleifend sed porttitor neque. Vestibulum volutpat porta ex. Aenean accumsan metus eu euismod semper. Phasellus viverra tortor eget enim ultrices, quis dignissim lectus posuere. Nullam turpis nisl, fringilla gravida interdum nec, semper et tellus. Etiam vitae rutrum ligula. Nulla lobortis massa odio, id tempor leo dictum sit amet. Nulla ut porta orci. Maecenas pulvinar est ac est accumsan, non consequat augue lobortis. Morbi semper sollicitudin eros, sit amet lacinia nulla varius a. Nam dignissim faucibus risus, eleifend tincidunt dolor scelerisque a. Quisque tempus, quam efficitur feugiat laoreet, sapien eros aliquam erat, auctor feugiat lacus ipsum id nisl. In nisi urna, laoreet eget pulvinar dignissim, maximus laoreet augue. Vivamus euismod mauris nec felis posuere, eu maximus ante volutpat. Integer porttitor urna quis vehicula feugiat. Integer justo nibh, rutrum pulvinar massa quis, molestie pretium ipsum.</div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.