$(window).on("scroll", function() {
var fixed = false;
var defaultHeight = 0;
if ($(window).scrollTop() > $(".link_ad").offset().top) {
if (fixed == false) {
defaultHeight = $(".link_ad").offset().top;
$(".link_ad").css({"position": "fixed", "top": "20px"});
fixed = true;
}
}
console.log(defaultHeight);
if ($(window).scrollTop() < defaultHeight) {
if (fixed == true) {
$(".link_ad").css("position", "static");
fixed = false;
}
}
});
Я пытаюсь исправить блок при прокрутке, если пользователь прокручивает страницу ниже верхнего смещения блока, а если он прокручивает страницу выше - вернуть блок в положение, в котором он находился до прокрутки. Я не проверяю только смещение прокрутки, потому что у меня есть выпадающее меню над этим блоком, и его верхнее смещение изменяется. Но когда defaultHeight
изменяется, когда прокрутка продолжается, defaultHeight
снова равно 0. Я думаю, это потому, что эта переменная является глобальной в этой функции, и мне нужно ссылаться на нее по-другому. Пожалуйста, помогите мне.