Показать сообщение отдельно
  #3 (permalink)  
Старый 29.11.2017, 09:20
Новичок на форуме
Отправить личное сообщение для kd241286zjv Посмотреть профиль Найти все сообщения от kd241286zjv
 
Регистрация: 28.11.2017
Сообщений: 2

ребят, посидел вчера и решил-таки задачу. если кому интересно, использовал не animate, а формулу:
$(document).ready(function(){
            var breakpoint = 180;
            var breakpoint0 = $('#block').offset().top - $(window).height();
            var breakpoint4 = $('#block1').offset().top;
            var paddingY = (breakpoint4 - breakpoint0) / 6;
            var breakpoint1 = breakpoint0 + paddingY;
            var breakpoint2 = breakpoint1 + paddingY * 2;
            var breakpoint3 = breakpoint2 + paddingY * 2;
        $(window).scroll(function(){
            var posscrollY = $(this).scrollTop();
            if(posscrollY >= breakpoint0 && posscrollY <= breakpoint4){
                if(posscrollY < breakpoint1){
                    var offset = (posscrollY - breakpoint0) / paddingY * (- breakpoint / 2) - (breakpoint / 2);
                    $('#block').css({'background-position-x': offset + 'px'});
                }
                else if(posscrollY < breakpoint2){
                    var offset = (posscrollY - breakpoint1) / (paddingY * 2) * (breakpoint) - breakpoint;
                    $('#block').css({'background-position-x': offset + 'px'});
                }
                else if(posscrollY < breakpoint3){
                    var offset = (posscrollY - breakpoint2) / (paddingY * 2) * (- breakpoint);
                    $('#block').css({'background-position-x': offset + 'px'});
                }
                else{
                    var offset = (posscrollY - breakpoint3) / paddingY * (breakpoint / 2) - breakpoint;
                    $('#block').css({'background-position-x': offset + 'px'});
                }
            }
        });


вдруг кому-то поможет
Ответить с цитированием