Использование .scrollTop () для позиции: относительно фиксированного события jquery - PullRequest
0 голосов
/ 15 октября 2011

Я сказал, что заголовок 30px в верхней части моей страницы, и он уже в фиксированной позиции. И у меня есть блок div около 50px от моего заголовка. Так что это 80px от верхней части моего браузера. Я пытаюсь создать событие jquery, в котором этот блок div будет оставаться на месте при прокрутке вниз до тех пор, пока он не достигнет нижней части моего заголовка, тогда это будет фиксированная позиция.

Проблема, с которой я сталкиваюсь, заключается в том, что когда я использую .scrollTop (), он касается верхней части моего браузера, а не нижней части моего заголовка, после чего он становится фиксированной позицией. Я пробовал .scrollTop (30), но он просто опускает мою страницу на 30px при запуске страницы, и он не позволяет мне прокручиваться где-либо, он просто возвращается к 30px.

Это моя функция jquery прямо сейчас, если кто-то может помочь мне изменить ее?

Спасибо!

    $(function() {
        var a = function() {
            var b = $(window).scrollTop();
        //I've tried $(window).scrollTop() + "30px"; and $(window).scrollTop(30);
            var d = $("#notification-anchor").offset().top;
            var c = $("#notification");
            if (b > d) {
                c.css({position:"fixed",top:"30px"});
            } else {
                if(b<=d){
                c.css({position:"relative",top:"0px"});
                }
            }
        };
        $(window).scroll(a);a()
    });

1 Ответ

0 голосов
/ 16 октября 2011

Мне удалось понять это из комментария @ Шедокана.

Спасибо!

...