Skip to content

Instantly share code, notes, and snippets.

@maplemap
Forked from davidtheclark/isElementInViewport.js
Last active January 25, 2018 08:56
Show Gist options
  • Save maplemap/07ecd1d7ee3250ec58354f77824afbd7 to your computer and use it in GitHub Desktop.
Save maplemap/07ecd1d7ee3250ec58354f77824afbd7 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
This solution was tested on IE7+, iOS5+ Safari, Android2+, Blackberry, Opera Mobile, and IE Mobile
*/
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)
);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment