webdriverio
Version:
Next-gen browser and mobile automation test framework for Node.js
16 lines (15 loc) • 578 B
JavaScript
// src/scripts/isElementInViewport.ts
function isElementInViewport(elem) {
if (!elem.getBoundingClientRect) {
return false;
}
const rect = elem.getBoundingClientRect();
const windowHeight = window.innerHeight || document.documentElement.clientHeight;
const windowWidth = window.innerWidth || document.documentElement.clientWidth;
const vertInView = rect.top <= windowHeight && rect.top + rect.height > 0;
const horInView = rect.left <= windowWidth && rect.left + rect.width > 0;
return vertInView && horInView;
}
export {
isElementInViewport as default
};