使用Javascript检测DIV中的滚动位置并作出反应 this.state={ 页码:1 } onScroll=()=>{ 让elem=document.getElementById(“longTable”); let loading=true//这可能会随着api调用的进行而改变 如果((elem.offsetHeight+elem.scrollTop)>=elem.offsetHeight-10&&!加载){ this.setState(prevState=>({page:prevState.page+1}),()=> log(“现在可以滚动了”) //this.props.onLoadMore(this.state.page) ) }否则{ //调试器; log(“最后——不再调用api”) } }
这就是我所做的,但即使在我上下滚动时,它也会不断进行api调用 如何检测该div中的滚动,以便向上滚动不会进行api调用,而向下滚动只进行api调用 当达到一定的高度时,我不可能一直低头并进行api调用使用Javascript检测DIV中的滚动位置并作出反应 this.state={ 页码:1 } onScroll=()=>{ 让elem=document.getElementById(“longTable”); let loading=true//这可能会随着api调用的进行而改变 如果((elem.offsetHeight+elem.scrollTop)>=elem.offsetHeight-10&&!加载){ this.setState(prevState=>({page:prevState.page+1}),()=> log(“现在可以滚动了”) //this.props.onLoadMore(this.state.page) ) }否则{ //调试器; log(“最后——不再调用api”) } },javascript,html,css,reactjs,Javascript,Html,Css,Reactjs,这就是我所做的,但即使在我上下滚动时,它也会不断进行api调用 如何检测该div中的滚动,以便向上滚动不会进行api调用,而向下滚动只进行api调用 当达到一定的高度时,我不可能一直低头并进行api调用 请提供任何帮助DOM似乎没有提供区分向下滚动和向上滚动事件的内置方法 因此,唯一的方法是存储上一个滚动位置,然后将其与新位置进行比较,您就可以知道它是向上滚动还是向下滚动 此外,在React中,最好的方法应该是将该值直接存储为属性: class MyComponent extends Compo
请提供任何帮助DOM似乎没有提供区分向下滚动和向上滚动事件的内置方法 因此,唯一的方法是存储上一个滚动位置,然后将其与新位置进行比较,您就可以知道它是向上滚动还是向下滚动 此外,在React中,最好的方法应该是将该值直接存储为属性:
class MyComponent extends Component {
constructor(props) {
super(props)
this.lastScrollTopPosition = 0
}
onScroll() {
/* ... */
}
}
您可以参考以查看如何比较以前和当前的滚动位置。DOM似乎没有提供一种内置方式来区分向下滚动和向上滚动事件 因此,唯一的方法是存储上一个滚动位置,然后将其与新位置进行比较,您就可以知道它是向上滚动还是向下滚动 此外,在React中,最好的方法应该是将该值直接存储为属性:
class MyComponent extends Component {
constructor(props) {
super(props)
this.lastScrollTopPosition = 0
}
onScroll() {
/* ... */
}
}
您可以参考以查看如何比较以前和当前的滚动位置。您正在寻找一些无限滚动的东西吗?是的,类似的。您正在寻找一些无限滚动的东西吗?是的,类似的东西。
class MyComponent extends Component {
constructor(props) {
super(props)
this.lastScrollTopPosition = 0
}
onScroll() {
/* ... */
}
}