Технический сбой

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

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


     Все вопросы » jQuery    2257

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

<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 - -

Не работает

bembelby
Юзер

bembelby - -

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

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

наверх