Всем привет. У меня есть сайт в 6-ю блоками разной высоты, то есть они больше видимой высоты экрана. Задача в том что бы, если, например появился на экране кусок 2го блока то отскролить его к верху страницы, и так далее с 3м, 4м. Это должно работать как сверху вних так и снизу вверх. Типа появился блок во viewport подтянули его к верху. Я пробовал разными способами, например через HostBinding, но он постоянно скролл байндит, пробовал через директивы из нета, пробовал ставить ng-in-viewport либу, но она тоже странно себя ведет. Проблема в том что я находу когда елемент появляется во вьюпорте, но как это остановить, что бы постоянно не происходит тригер ивента скрола
Если я правильно тебя понял, проблема в том что у тебя срабатывает скролл ивент даже тогда, когда элемент уже на экране, а ты хочешь чтобы срабатывал только при первом появлении.
Попробуй https://developer.mozilla.org/ru/docs/Web/API/Inte...
Он позволяет отслеживать появление элементов на экране, в том числе их текущее положение (свойство isIntersecting). Используя этот флаг ты можешь задать когда ты хочешь делать скролл.