53 lines
1.2 KiB
JavaScript
53 lines
1.2 KiB
JavaScript
|
|
/**
|
||
|
|
* The IntersectionObserver interface of the Intersection Observer API provides a way to asynchronously observe changes in the intersection of a target element with an ancestor element or with a top-level document's viewport.
|
||
|
|
*
|
||
|
|
* @see https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserver
|
||
|
|
*/
|
||
|
|
export default class IntersectionObserver {
|
||
|
|
// @ts-ignore
|
||
|
|
#callback;
|
||
|
|
// @ts-ignore
|
||
|
|
#options;
|
||
|
|
/**
|
||
|
|
* Constructor.
|
||
|
|
*
|
||
|
|
* @param callback Callback.
|
||
|
|
* @param options Options.
|
||
|
|
*/
|
||
|
|
constructor(callback, options) {
|
||
|
|
this.#callback = callback;
|
||
|
|
this.#options = options || {};
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* Starts observing.
|
||
|
|
*
|
||
|
|
* @param _target Target.
|
||
|
|
*/
|
||
|
|
observe(_target) {
|
||
|
|
// TODO: Implement
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* Disconnects.
|
||
|
|
*/
|
||
|
|
disconnect() {
|
||
|
|
// TODO: Implement
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* Unobserves an element.
|
||
|
|
*
|
||
|
|
* @param _target Target.
|
||
|
|
*/
|
||
|
|
unobserve(_target) {
|
||
|
|
// TODO: Implement
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* Returns an array of IntersectionObserverEntry objects for all observed targets.
|
||
|
|
*
|
||
|
|
* @returns Records.
|
||
|
|
*/
|
||
|
|
takeRecords() {
|
||
|
|
// TODO: Implement
|
||
|
|
return [];
|
||
|
|
}
|
||
|
|
}
|
||
|
|
//# sourceMappingURL=IntersectionObserver.js.map
|