var box = $('.box');
        var container = $('.container');
        var offsetX = Math.floor((container.width() - box.width()) / box.height());
        var offsetY = (container.height() - box.height()) / (box.width() - 600);
        var maxOffset = container.width() - box.width();
        function update() {
            var containerOffset = $(container).offset().top - 300;
            if (scrollY > containerOffset) {
                var blockScroll = (scrollY - containerOffset);
               var offsetTop = blockScroll * offsetY;
                var offsetLeft = blockScroll * offsetX;
                if(offsetLeft < maxOffset) {
                    offsetLeft = maxOffset;
                }
                $('.box').css({ 
                      transform: 'translate3d(' + -1 * offsetLeft  + 'px, ' +  offsetTop  + 'px, 0)'
                });
        
            }
        }
        $(window).scroll(function () {
            update();
        });        function lerp(min, max, value) {
    return (1 - value) * min + value * max;
}        document.addEventListener('touchmove', e => {
  if(!run) return;
  const [dx, dy] = [e.targetTouches[0].clientX - startX, e.targetTouches[0].clientY - startY];
  [startX, startY] = [e.targetTouches[0].clientX, e.targetTouches[0].clientY];
  lastTranslate += Math.round((dx + dy) / 2);
  img.style.transform = `translate(-${lastTranslate + 150}px,${lastTranslate - 150}px)`;
  console.log(dx, dy, img.style.transform);
});        window.screen.width - container.width(), но блок также улетает        
Как можно это решить ? Плюс оно то появляется то нет