Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » jQuery » Помогите подправить скрип. Футер позет вниз бесконечно?

Помогите подправить скрип. Футер позет вниз бесконечно?


     13.05.2015    Все вопросы » jQuery    2196

вопрос
Скрипт служит для создания плавающего блока на сайте. По дефолту все работает отлично, но вот только когда плавающий блок достигает футера, он его начинает сдвигать до бесконечности вниз. Хотелось бы это как-то устранить

<script type="text/javascript">
   $(function() {
      var offset = $("#fixed").offset();
      var topPadding = 15;
      $(window).scroll(function() {
         if ($(window).scrollTop() > offset.top) {
            $("#fixed").stop().animate({marginTop: $(window).scrollTop() - offset.top + topPadding});
         }
         else {$("#fixed").stop().animate({marginTop: 0});};});
   });
</script>

Ответил: werty1001


$(window).load(function() {

    var fixed = $("#fixed"),        
        fixedTop = fixed.offset().top,
        fixedHeight = fixed.outerHeight(),
        footer = $("#footer"),
        footerTop = footer.offset().top;

    $(window).scroll(function() {

        var a=$(window).scrollTop();
        
        a > fixedTop && fixed.addClass("active");
        a < fixedTop && fixed.removeClass("active");
        a > footerTop - fixedHeight && fixed.addClass("stop");
        a < footerTop - fixedHeight && fixed.removeClass("stop");
        
    });

});


#fixed { position: relative; }
#fixed.active { position: fixed; top: 0; bottom: auto;  }
#fixed.active.stop { position: absolute; top: auto; bottom: 0; }

Живой пример тык

2 комментария

bembelby
Юзер

bembelby - 16 мая 2015 19:44 -

Не работает

bembelby
Юзер

bembelby - 17 декабря 2015 14:40 -

Все еще актуально. Ищу решение ))
Вот скрипт: >>> клац <<<

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх