简体   繁体   English

更改滚动方向中页,然后返回

[英]Change Scroll Direction Mid Page and then Revert Back

I came across this page and I was really impressed on how the scroll direction changed mid page to horizontal and then reverted back to vertical.我遇到了这个页面,我对滚动方向如何将中间页面更改为水平然后恢复为垂直印象非常深刻。

I don't have the slightest idea how that is done.我完全不知道这是怎么做到的。 Can someone fill me in?有人可以填写我吗?

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM