diff --git a/jquery.onscreen.js b/jquery.onscreen.js index bbd1f3d..6f34564 100644 --- a/jquery.onscreen.js +++ b/jquery.onscreen.js @@ -1,22 +1,40 @@ -// onScreen jQuery plugin v0.2.1 +// onScreen jQuery plugin v0.2.2 // (c) 2011 Ben Pickles // // http://benpickles.github.com/onScreen // // Released under MIT license. -;(function($) { - $.expr[":"].onScreen = function(elem) { - var $window = $(window) - var viewport_top = $window.scrollTop() - var viewport_height = $window.height() - var viewport_bottom = viewport_top + viewport_height - var $elem = $(elem) - var top = $elem.offset().top - var height = $elem.height() - var bottom = top + height +(function($) { + $.expr[":"].onScreen = function(elem) { + var $window = $(window); + var viewport_top = $window.scrollTop(); + var viewport_left = $window.scrollLeft(); + var viewport_width = $window.width(); + var viewport_height = $window.height(); + var viewport_right = viewport_left + viewport_width; + var viewport_bottom = viewport_top + viewport_height; + var $elem = $(elem); + var top = $elem.offset().top; + var left = $elem.offset().left; + var width = $elem.width(); + var height = $elem.height(); + var right = left + width; + var bottom = top + height; - return (top >= viewport_top && top < viewport_bottom) || - (bottom > viewport_top && bottom <= viewport_bottom) || - (height > viewport_height && top <= viewport_top && bottom >= viewport_bottom) - } -})(jQuery); + var onScreen = ( + ( + (left >= viewport_left && left < viewport_right) || + (right > viewport_left && right <= viewport_right) || + (width > viewport_width && left <= viewport_left && right >= viewport_right) + ) + && + ( + (top >= viewport_top && top < viewport_bottom) || + (bottom > viewport_top && bottom <= viewport_bottom) || + (height > viewport_height && top <= viewport_top && bottom >= viewport_bottom) + ) + ); + + return onScreen; + }; +})(jQuery); \ No newline at end of file diff --git a/jquery.onscreen.min.js b/jquery.onscreen.min.js index 2cc06e5..a91bf70 100644 --- a/jquery.onscreen.min.js +++ b/jquery.onscreen.min.js @@ -1,7 +1,7 @@ -// onScreen jQuery plugin v0.2.1 +// onScreen jQuery plugin v0.2.2 // (c) 2011 Ben Pickles // // http://benpickles.github.com/onScreen // // Released under MIT license. -(function(a){a.expr[":"].onScreen=function(b){var c=a(window),d=c.scrollTop(),e=c.height(),f=d+e,g=a(b),h=g.offset().top,i=g.height(),j=h+i;return h>=d&&hd&&j<=f||i>e&&h<=d&&j>=f}})(jQuery); \ No newline at end of file +(function(e){e.expr[":"].onScreen=function(t){var n=e(window);var r=n.scrollTop();var i=n.scrollLeft();var s=n.width();var o=n.height();var u=i+s;var a=r+o;var f=e(t);var l=f.offset().top;var c=f.offset().left;var h=f.width();var p=f.height();var d=c+h;var v=l+p;var m=(c>=i&&ci&&d<=u||h>s&&c<=i&&d>=u)&&(l>=r&&lr&&v<=a||p>o&&l<=r&&v>=a);return m}})(jQuery) \ No newline at end of file