Как реализовать Intersection Observer от обратного?
Как я понял, Intersection Observer работает по следующему принципу (для viewport) - какой процент от целевого элемента видно во viewport.
Это не совсем корректно применимо для элементов, которые значительно больше viewport, а еще когда приходится отслеживать 2-3 десятка элементов, а они все разные, то threshold приходится считать динамически для каждого элемента отдельно.
Идея в том, чтобы сделать иначе - на сколько (на сколько процентов) целевой элемент закрывает (пересекается) с viewport.
Например, есть элемент с высотой 2000px и есть viewport с высотой 600px.
И допустим, когда мы ставим пересечение 50% (или 0.5), то это означает, что видно 300px и/или более от элемента с высотой 2000px (и здесь то мы и вызываем callback). Сейчас же, в текущем кейсе, callback вообще не должен вызываться, т. к. 2000px / 2 > 600px.
Возможно, есть готовые решения? Возможно, я что-то недоглядел в документации в Intersection Observer?
Любому фидбэку буду рад.
imko, как я понял, если положительный, то внешний, если отрицательный - внутрь)
Я попробовал, действительно, это очень и очень похоже на желаемое поведение, спасибо большое!
Единственное, сейчас отсекаются элементы в тех случаях, когда scrollY равен максимальному значению (ползунок в самом низу), а высота элемента менее 50% viewport - вот как можно это обыграть - большой вопрос (риторический).