constructor(props) {
super(props);
this.state = {
height: window.innerHeight,
message: 'not at bottom'
};
this.handleScroll = this.handleScroll.bind(this);
}
handleScroll() {
const windowHeight = "innerHeight" in window ? window.innerHeight : document.documentElement.offsetHeight;
const body = document.body;
const html = document.documentElement;
const docHeight = Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);
const windowBottom = windowHeight + window.pageYOffset;
if (windowBottom >= docHeight) {
this.setState({
message: 'bottom reached'
});
} else {
this.setState({
message: 'not at bottom'
});
}
}
componentDidMount() {
window.addEventListener("scroll", this.handleScroll);
}
componentWillUnmount() {
window.removeEventListener("scroll", this.handleScroll);
}
Forked from enqtran/[ReactJS] Detect Scrolls To Bottom
Last active
February 21, 2024 11:10
-
-
Save ntamvl/8ec6dd3bd0e7eab21ea76d057bf0ee60 to your computer and use it in GitHub Desktop.
[ReactJS] Detect Scrolls To Bottom
Author
ntamvl
commented
Nov 20, 2018
•
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment