1 | 1 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,24 @@ |
1 |
+function isOnScreen(elem) { |
|
2 |
+ // if the element doesn't exist, abort |
|
3 |
+ if (elem.length == 0) { |
|
4 |
+ return; |
|
5 |
+ } |
|
6 |
+ var $window = jQuery(window); |
|
7 |
+ var viewport_top = $window.scrollTop(); |
|
8 |
+ var viewport_height = $window.height(); |
|
9 |
+ var viewport_bottom = viewport_top + viewport_height; |
|
10 |
+ var $elem = jQuery(elem); |
|
11 |
+ var top = $elem.offset().top; |
|
12 |
+ var height = $elem.height(); |
|
13 |
+ var bottom = top + height; |
|
14 |
+ |
|
15 |
+ return ( |
|
16 |
+ (top >= viewport_top && top < viewport_bottom) || |
|
17 |
+ (bottom > viewport_top && bottom <= viewport_bottom) || |
|
18 |
+ (height > viewport_height && |
|
19 |
+ top <= viewport_top && |
|
20 |
+ bottom >= viewport_bottom) |
|
21 |
+ ); |
|
22 |
+} |
|
23 |
+ |
|
24 |
+ |