Skip to content

Instantly share code, notes, and snippets.

@davidtheclark
Created May 4, 2013 02:00
Show Gist options
  • Save davidtheclark/5515733 to your computer and use it in GitHub Desktop.
Save davidtheclark/5515733 to your computer and use it in GitHub Desktop.
JavaScript: Is element in viewport?
/*
No jQuery necessary.
Thanks to Dan's StackOverflow answer for this:
http://stackoverflow.com/questions/123999/how-to-tell-if-a-dom-element-is-visible-in-the-current-viewport
*/
function isElementInViewport(el) {
var rect = el.getBoundingClientRect();
return (
rect.top >= 0 &&
rect.left >= 0 &&
rect.bottom <= (window.innerHeight || document. documentElement.clientHeight) &&
rect.right <= (window.innerWidth || document. documentElement.clientWidth)
);
}
@binzorellino
Copy link

Hello Mistovic,
The (el) parameter is the DOM element that has been passed to the function to check if it is in the viewport or not yet.

@Mistovic
Copy link

Hello Mistovic,
The (el) parameter is the DOM element that has been passed to the function to check if it is in the viewport or not yet.
Hello, and thank you for a reply.

So basically, we created a new element (el) with boundingClientRect() and gave him coordinates (or size) with return (top, left, bottom, right).
is that understood well?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment