Как остановить скролл при достижении блока?
Не дай бог мне на такой сайт попасть.
Для начала необходимо удостовериться, что в текущий момент времени элемент находится в видимой области экрана
как пример, вот такая ф-я function isScrolledIntoView(el) {
    var elemTop = el.getBoundingClientRect().top,
        elemBottom = el.getBoundingClientRect().bottom,
        isVisible = (elemTop >= 0) && ((elemBottom + 240) <= window.innerHeight);
    return isVisible;
}
В этом примере я наблюдал, доскроллил ли пользователь до нужного мне элемента, и, если доскроллил, запускал анимацию.var visible = false;
$(window).on('scroll', function () {
        var $box = $('.boxed-container');
        if ($box.size()) {
            var vis = isScrolledIntoView($box[0]),
                duration = 1000;
            if (vis && !visible) {
                $box.find('.item2').velocity({left: 0}, {
                    duration: duration,
                    complete: function () {
                        $box.find('.item1').velocity({left: 0}, duration);
                    }
                });
                $box.find('.item4').velocity({left: 0}, {
                    duration: duration,
                    complete: function () {
                        $box.find('.item5').velocity({left: 0}, duration);
                    }
                });
            }
            visible = vis;
        }
    });
Может это вас натолкнет на решение.