-
Notifications
You must be signed in to change notification settings - Fork 0
/
jquery.parallaxer.min.js
1 lines (1 loc) · 1.45 KB
/
jquery.parallaxer.min.js
1
if("undefined"==typeof jQuery)throw new Error("Parallaxer requires jQuery!");!function(t){"use strict";t.fn.parallaxer=function(){function r(){function r(){var r=t(this).scrollTop(),o=t(this).outerHeight(),a=o+r;n.each(function(){var n=t(this).children("img").first(),i=n.outerHeight(),s=t(this).offset().top,f=t(this).outerHeight(),l=Math.round((i-f)*((a-s)/(f+o)));s+f>r&&r+o>s&&n.css({"-webkit-transform":"translate3D(-50%, "+l+"px, 0)","-moz-transform":"translate3D(-50%, "+l+"px, 0)","-ms-transform":"translate3D(-50%, "+l+"px, 0)","-o-transform":"translate3D(-50%, "+l+"px, 0)",transform:"translate3D(-50%, "+l+"px, 0)"}),e||n.css("opacity","1")})}t(window).on("scroll",r),r.call(window),e=!0}var e=!1,n=t(this),o=function(){if("function"!=typeof window.getComputedStyle)return!1;var t=document.createElement("div");document.body.appendChild(t);for(var r=["-webkit-transform","-moz-transform","-ms-transform","-o-transform","transform"],e=!0,n=0;n<r.length;n++){t.style[r[n]]="translate3D(-100%, -100%, 0)";var o=window.getComputedStyle(t).getPropertyValue(r[n]);e=e||o.length>0&&"none"!==o}return document.body.removeChild(t),e}(),a=!0;n.each(function(){if(o){var i=t(this).children("img").first(),s=i.get(0).complete;s||i.one("load",function(){var o=!0;n.each(function(){o=o&&t(this).children("img").first().get(0).complete}),!e&&o&&(n.each(function(){t(this).children("img").first().off("load")}),r())}),a=a&&s}else t(this).addClass("parallaxer-not-supported")}),a&&r()}}(jQuery);