UNPKG

814 BJavaScriptView Raw
1"use strict";
2
3
4function isElementInViewport (el) {
5
6 var rect = el.getBoundingClientRect();
7
8 return (
9 rect.bottom >= 0
10 && rect.right >= 0
11 && rect.top <= (window.innerHeight || document.documentElement.clientHeight)
12 && rect.left <= (window.innerWidth || document.documentElement.clientWidth)
13 );
14}
15
16
17module.exports = function(element){
18 if (element.offsetWidth === 0 || element.offsetHeight === 0) return false;
19
20 /* var height = document.documentElement.clientHeight,
21 on_top = function(r) {
22 var x = (r.left + r.right)/2, y = Math.max(0, (r.top + r.bottom)/2);
23 return element.contains( document.elementFromPoint(x, y) );
24 };
25 */
26
27 var in_viewport = isElementInViewport(element);
28 return in_viewport;
29};