Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何知道用户在React.js中滚动的方向?_Javascript_Reactjs - Fatal编程技术网

Javascript 如何知道用户在React.js中滚动的方向?

Javascript 如何知道用户在React.js中滚动的方向?,javascript,reactjs,Javascript,Reactjs,我有一个div,它有一个onScroll处理程序,我需要知道用户滚动的方向(到顶部或底部) 我的html: <body> <div> Section1 </div> <div> Section1 </div> </body> 我应该写什么呢?…您可以使用窗口。滚动来确定滚动的位置。当然,当它的值为0时,表示它位于顶部。如何获得最大窗口滚动高度可能有点棘手,但下面就是方法 if (window.sc

我有一个div,它有一个
onScroll
处理程序,我需要知道用户滚动的方向(到顶部或底部)

我的html:

<body>
 <div>
  Section1
 </div>
 <div>
  Section1
 </div>
</body>

我应该写什么呢?

您可以使用
窗口。滚动
来确定滚动的位置。当然,当它的值为0时,表示它位于顶部。如何获得最大窗口滚动高度可能有点棘手,但下面就是方法

     if (window.scrollY === 0) {
        console.log("user scroll to top");
      } else if (window.scrollY + 1 >= document.documentElement.offsetHeight - window.innerHeight ) {
        console.log("user scroll to bottom");
      }

元素具有以下属性:scrollTop,它是以像素为单位到顶部的距离

let previousTop = 0;

document.onscroll = (event) => {
  if(previousTop < event.target.scrollTop){
    console.log(user scroll to bottom); 
  }else {
    console.log(user scroll to top);
  }
  previousTop = event.target.scrollTop;
});
让previousTop=0;
document.onscroll=(事件)=>{
if(previousTop
你好,VanyaIvan;请在这里添加您的最低可行代码和有关您尝试实现的其他详细信息:谢谢!您应该向我们展示一些代码,但这可能会解决您的问题@Spectric I'm edit question这是否回答了您的问题@ZsoltMeszaros很抱歉,但是没有,因为我需要知道用户滚动到哪里
let previousTop = 0;

document.onscroll = (event) => {
  if(previousTop < event.target.scrollTop){
    console.log(user scroll to bottom); 
  }else {
    console.log(user scroll to top);
  }
  previousTop = event.target.scrollTop;
});