Tôi vừa dành thời gian nghiêm túc để tìm ra một số thứ với React và cuộn các sự kiện / vị trí - vì vậy đối với những người vẫn đang tìm kiếm, đây là những gì tôi tìm thấy:
Có thể tìm thấy chiều cao của khung nhìn bằng cách sử dụng window.innerHeight hoặc bằng cách sử dụng document.documentEuity.clientHeight. (Chiều cao khung nhìn hiện tại)
Chiều cao của toàn bộ tài liệu (phần thân) có thể được tìm thấy bằng window.document.body.offsetHeight.
Nếu bạn đang cố gắng tìm chiều cao của tài liệu và biết khi nào bạn chạm đáy - đây là những gì tôi nghĩ ra:
if (window.pageYOffset >= this.myRefII.current.clientHeight && Math.round((document.documentElement.scrollTop + window.innerHeight)) < document.documentElement.scrollHeight - 72) {
this.setState({
trueOrNot: true
});
} else {
this.setState({
trueOrNot: false
});
}
}
(Thanh điều hướng của tôi là 72px ở vị trí cố định, do đó, -72 để có trình kích hoạt sự kiện cuộn tốt hơn)
Cuối cùng, đây là một số lệnh cuộn đến console.log (), giúp tôi chủ động tìm ra toán học của mình.
console.log('window inner height: ', window.innerHeight);
console.log('document Element client hieght: ', document.documentElement.clientHeight);
console.log('document Element scroll hieght: ', document.documentElement.scrollHeight);
console.log('document Element offset height: ', document.documentElement.offsetHeight);
console.log('document element scrolltop: ', document.documentElement.scrollTop);
console.log('window page Y Offset: ', window.pageYOffset);
console.log('window document body offsetheight: ', window.document.body.offsetHeight);
Phù! Hy vọng nó sẽ giúp được ai đó!
.bind(this)
khỏi các đối số gọi lại vì nó đã bị ràng buộc bởi hàm tạo.