Я думаю, вам нужно знать, когда вы прокрутите страницу до конца. Это означает, что если вы прокрутили до дна, вы знаете, что есть bottom
div, а затем вы должны переместить ваш fixed
div на 50px снизу. Как то так,
function changeFixed() {
const documentHeight = document.body.scrollHeight;
const scrollPosition = window.scrollY;
const viewHeight = window.innerHeight;
// documentHeight - (scrollPosition + viewHeight) will be 0 when you have scrolled to bottom.
if (documentHeight - (scrollPosition + viewHeight) <= 50) {
document.getElementById('fixed').style.top = "auto";
document.getElementById('fixed').style.bottom = "50px";
} else {
document.getElementById('fixed').style.top = "200px";
document.getElementById('fixed').style.bottom = "auto";
}
}
PS: вам нужно добавить соответствующие переходы, если вы хотите анимацию.