Здравствуйте, столкнулся с такой проблемой:
Задача: Есть плавающий элемент, который нужно зафиксировать при достижении нижней части сайта(в моем случае блока с id "sp-section-6").
Мое решение: Данный код отлично работал:
var stopmove = document.getElementById("sp-section-6").offsetTop;
$(window).scroll(function() {
if ($(window).scrollTop() > stopmove - 200) {
box.stop().animate({marginTop: topPadding+stopmove - 200});
}
else
if ($(window).scrollTop() > offset.top) {
box.stop().animate({marginTop: $(window).scrollTop() - offset.top + topPadding + 150});
}
else {
box.stop().animate({marginTop: topPadding});
}
});
Код работал, пока у меня в статьях не было асинхронной загрузки скриптов, которые добавляют контент в статью и увеличивают ее высоту, соответственно, offsetTop вычисляется до загрузки этих скриптов, показывает неправильную высоту статьи, и плавающий элемент фиксируется где-то в середине статьи.
Вопрос: как решить эту проблему?