1 | "use strict";
|
2 |
|
3 |
|
4 | function 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 |
|
17 | module.exports = function(element){
|
18 | if (element.offsetWidth === 0 || element.offsetHeight === 0) return false;
|
19 |
|
20 | |
21 |
|
22 |
|
23 |
|
24 |
|
25 |
|
26 |
|
27 | var in_viewport = isElementInViewport(element);
|
28 | return in_viewport;
|
29 | };
|