首页 > 解决方案 > 如何设置水平滚动位置反应

问题描述

我正在尝试将页面设置为加载时在中间的水平滚动位置。

我已经尝试在 componentDidMount 函数(我确认正在调用它)中调用 window.scrollBy (以及其他像 scrollTo 等)。我无法让它用于水平或垂直滚动​​。npm 包“react-scroll”确实有效,但仅适用于垂直滚动。

编辑:tech_amity 是正确的,这些函数有两个参数:x 和 y 坐标。然而,在我的情况下,问题是通过从新的父容器 div 上的 onLoad 事件访问 window.scrollTo() 函数来解决的。我仍然不确定为什么。

所以:

function moveLeft()
{
  window.scrollTo(300, 0);
}

//and then in the JSX/html:

<div onLoad={moveLeft}>
//... stuff i want to scroll
</div>

标签: javascriptreactjsscrollhorizontal-scrolling

解决方案


您应该在滚动功能中给出适当的坐标。

window.scrollTo(x-coord, y-coord);
window.scrollTo(scroll-to-middle, 0);

根据你给出x坐标。


推荐阅读