В чем основное различие между rootMargin и threshold в Intersection Observer API?

#javascript #viewport #threshold #intersection-observer

#javascript #окно просмотра #пороговое значение #пересечение-наблюдатель

Вопрос:

Как я узнал, как только вы установили rootMargin:»0px», это означает, что эффект будет произведен, когда выбранный вами элемент будет завершен видимым на экране и будет иметь 0px поля по отношению к области просмотра или любому родственнику.

В свойстве threshold оно имеет значения от 0% до 100%, также обозначаемые как от 0 до 1. Это означает, что если значение равно 1, обратный вызов будет выполняться, как только элемент будет виден на 100% в окне просмотра.

Пожалуйста, выделите различия между ними.

Ответ №1:

rootMargin — это прямоугольная ограничительная рамка вокруг вашего корня, которую вы можете настроить для запуска пересечений. По умолчанию это ваш видовой экран. Используйте это, чтобы вызвать пересечение, когда элемент находится в определенной области корня, т.Е. срабатывает, когда мой наблюдаемый элемент достигает 25% области просмотра или 50 пикселей области просмотра. Значения могут быть% или px. т.е. rootMargin: '0px 0px -50px' или rootMargin: '0px 0px -25%' .

порог — это процент наблюдаемого элемента в корне. Используйте это, чтобы вызвать пересечение, когда процент наблюдаемого элемента находится в корне, т.Е. срабатывает, когда 65% моего элемента находится в области просмотра (корень). Значения основаны на% от 0 до 1. т.е. threshold: .65

Демонстрация JSFiddle