@puzzleitc/puzzle-shell
Version:
The standard design for Puzzle tools
15 lines (14 loc) • 477 B
JavaScript
export function isNodeOrChild(element, nodeName) {
return (element &&
element instanceof HTMLElement &&
(element.nodeName.toLowerCase() === nodeName ||
element.closest(nodeName) != null));
}
export function scrollIntoViewIfNeeded(target) {
if (target.getBoundingClientRect().bottom > window.innerHeight) {
target.scrollIntoView(false);
}
if (target.getBoundingClientRect().top < 0) {
target.scrollIntoView();
}
}