Tweaking autoscroll to only adjust if header stuck at top and not at bottom

pull/21833/head
wmwragg 2016-08-26 15:36:16 +01:00
parent b9e95865af
commit 5f9c794f0c
1 changed files with 3 additions and 4 deletions

View File

@ -354,15 +354,14 @@ module.exports = React.createClass({
var topStuckHeight = stickyHeight * i; var topStuckHeight = stickyHeight * i;
var bottomStuckHeight = stickyHeight * (stickyWrappers.length - i) var bottomStuckHeight = stickyHeight * (stickyWrappers.length - i)
if (scrollToPosition !== undefined && stickyPosition === scrollToPosition) {
scrollStuckOffset = topStuckHeight;
}
if (self.scrollAreaSufficient && stickyPosition <= (scrollArea.scrollTop + topStuckHeight)) { if (self.scrollAreaSufficient && stickyPosition <= (scrollArea.scrollTop + topStuckHeight)) {
// Top stickies // Top stickies
sticky.dataset.stuck = "top"; sticky.dataset.stuck = "top";
stickyHeader.classList.add("mx_RoomSubList_fixed"); stickyHeader.classList.add("mx_RoomSubList_fixed");
stickyHeader.style.top = scrollArea.offsetTop + topStuckHeight + "px"; stickyHeader.style.top = scrollArea.offsetTop + topStuckHeight + "px";
if (scrollToPosition !== undefined && stickyPosition === scrollToPosition) {
scrollStuckOffset = topStuckHeight;
}
} else if (self.scrollAreaSufficient && stickyPosition >= ((scrollArea.scrollTop + scrollAreaHeight) - bottomStuckHeight)) { } else if (self.scrollAreaSufficient && stickyPosition >= ((scrollArea.scrollTop + scrollAreaHeight) - bottomStuckHeight)) {
/// Bottom stickies /// Bottom stickies
sticky.dataset.stuck = "bottom"; sticky.dataset.stuck = "bottom";