isInViewport function
Returns true
if element
is visible in viewport.
Implementation
bool isInViewport(Element element, {bool fully = false}) {
var rect = element.getBoundingClientRect();
var windowWidth =
min(window.innerWidth!, document.documentElement!.clientWidth);
var windowHeight =
min(window.innerHeight!, document.documentElement!.clientHeight);
if (fully) {
return rect.left >= 0 &&
rect.top >= 0 &&
rect.right < windowWidth &&
rect.bottom < windowHeight;
} else {
return rect.bottom > 0 &&
rect.right > 0 &&
rect.left < windowWidth &&
rect.top < windowHeight;
}
}