forked from silvestreh/onScreen
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjquery.onscreen.min.js
1 lines (1 loc) · 2.7 KB
/
jquery.onscreen.min.js
1
(function(e){e.fn.onScreen=function(t){var n=e.extend({direction:"vertical",toggleClass:true,doIn:null,doOut:null,tolerance:0,lazyAttr:null,lazyPlaceholder:"data:image/gif;base64,R0lGODlhEAAFAIAAAP///////yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCQAAACwAAAAAEAAFAAACCIyPqcvtD00BACH5BAkJAAIALAAAAAAQAAUAgfT29Pz6/P///wAAAAIQTGCiywKPmjxUNhjtMlWrAgAh+QQJCQAFACwAAAAAEAAFAIK8urzc2tzEwsS8vrzc3tz///8AAAAAAAADFEiyUf6wCEBHvLPemIHdTzCMDegkACH5BAkJAAYALAAAAAAQAAUAgoSChLS2tIyKjLy+vIyOjMTCxP///wAAAAMUWCQ09jAaAiqQmFosdeXRUAkBCCUAIfkECQkACAAsAAAAABAABQCDvLq83N7c3Nrc9Pb0xMLE/P78vL68/Pr8////AAAAAAAAAAAAAAAAAAAAAAAAAAAABCEwkCnKGbegvQn4RjGMx8F1HxBi5Il4oEiap2DcVYlpZwQAIfkECQkACAAsAAAAABAABQCDvLq85OLkxMLE9Pb0vL685ObkxMbE/Pr8////AAAAAAAAAAAAAAAAAAAAAAAAAAAABCDwnCGHEcIMxPn4VAGMQNBx0zQEZHkiYNiap5RaBKG9EQAh+QQJCQAJACwAAAAAEAAFAIOEgoTMysyMjozs6uyUlpSMiozMzsyUkpTs7uz///8AAAAAAAAAAAAAAAAAAAAAAAAEGTBJiYgoBM09DfhAwHEeKI4dGKLTIHzCwEUAIfkECQkACAAsAAAAABAABQCDvLq85OLkxMLE9Pb0vL685ObkxMbE/Pr8////AAAAAAAAAAAAAAAAAAAAAAAAAAAABCAQSTmMEGaco8+UBSACwWBqHxKOJYd+q1iaXFoRRMbtEQAh+QQJCQAIACwAAAAAEAAFAIO8urzc3tzc2tz09vTEwsT8/vy8vrz8+vz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAEIhBJWc6wJZAtJh3gcRBAaXiIZV2kiRbgNZbA6VXiUAhGL0QAIfkECQkABgAsAAAAABAABQCChIKEtLa0jIqMvL68jI6MxMLE////AAAAAxRoumxFgoxGCbiANos145e3DJcQJAAh+QQJCQAFACwAAAAAEAAFAIK8urzc2tzEwsS8vrzc3tz///8AAAAAAAADFFi6XCQwtCmAHbPVm9kGWKcEQxkkACH5BAkJAAIALAAAAAAQAAUAgfT29Pz6/P///wAAAAIRlI8SAZsPYnuJMUCRnNksWwAAOw=="},t);return this.each(function(){function s(){return elTop<winBottom-n.tolerance&&r<elTop+elHeight-n.tolerance&&!t}function o(){return elTop+elHeight<r&&t||elTop>winBottom&&t}function u(){return elLeft<winRight-n.tolerance&&scrollLeft<elLeft+elWidth-n.tolerance&&!t}function a(){return elLeft+elWidth<scrollLeft&&t||elLeft>winRight&&t}function f(){if(n.direction=="vertical"){return s()}else if(n.direction=="horizontal"){return u()}}function l(){if(n.direction=="vertical"){return o()}else if(n.direction=="horizontal"){return a()}}function c(){$win=e(window);winHeight=$win.height();winWidth=$win.width();winBottom=$win.scrollTop()+winHeight;winRight=$win.scrollLeft()+winWidth;elHeight=i.height();elWidth=i.height();elTop=i.offset().top;elLeft=i.offset().left;r=$win.scrollTop();scrollLeft=$win.scrollLeft();if(f()){if(n.toggleClass){i.addClass("onScreen")}if(typeof n.doIn=="function"){n.doIn.call(i[0])}if(n.lazyAttr&&i.prop("tagName")==="IMG"){lazyImg=i.attr(n.lazyAttr);i.css({background:"url("+n.lazyPlaceholder+") center center no-repeat","min-height":"5px","min-width":"16px"});i.prop("src",lazyImg)}t=true}else if(l()){if(n.toggleClass){i.removeClass("onScreen")}if(typeof n.doOut=="function"){n.doOut.call(i[0])}t=false}}var t=false;var r;var i=e(this);c();e(window).on("scroll",c).on("resize",c).on("load",c)});return this}})(jQuery)