-
Notifications
You must be signed in to change notification settings - Fork 122
/
realshadow-min.js
4 lines (4 loc) · 1.3 KB
/
realshadow-min.js
1
2
3
4
/*! Real Shadow v1.1.2 https://github.com/Indamix/real-shadow | https://raw.github.com/Indamix/real-shadow/master/license.txt */
(function(b,r,m){function s(u,e){var a=b(e),c=a.offset(),f=a.attr("rel"),a={dom:e,x:c.left+(a.outerWidth()>>1),y:c.top+(a.outerHeight()>>1)};f?a.c={r:-1!==f.indexOf("r"),g:-1!==f.indexOf("g"),b:-1!==f.indexOf("b")}:d.c&&(a.c=d.c);a.inset=d.inset?"inset":"";g.push(a)}function p(){for(var d=g.length,e,a,c;d--;)a=g[d],c=b(a.dom),e=c.offset(),a.x=e.left+(c.outerWidth()>>1),a.y=e.top+(c.outerHeight()>>1);i()}function i(b){b===m&&(b={pageX:d.pageX!==m?d.pageX:q.width()>>1,pageY:d.pageY!==m?d.pageY:0});
for(var e=g.length,a;e--;){a=g[e];var c=b.pageX-g[e].x,f=b.pageY-g[e].y,j=Math.pow(c*c+f*f,h.pow),j=j/h.div+1;j>h.nMax&&(j=h.nMax);for(var k=Math.atan2(c,f)-t,c=d.length,f=[],i=Math.cos(k),k=Math.sin(k),n=void 0,l=1;l<c;++l)n=Math.pow(l,j),f.push((n*k>>0)+"px "+(n*i>>0)+"px "+(Math.pow(l,1.7)>>0)+"px rgba("+(a.c?(a.c.r?100:0)+","+(a.c.g?100:0)+","+(a.c.b?100:0)+",":"0,0,0,")+".05)"+a.inset);a.dom.style.boxShadow=f.join(",")}}var d={followMouse:!0,length:7},q=b(r),t=Math.PI,g=[];b.fn.realshadow=function(h){b.extend(d,
h);!g.length&&d.followMouse&&b(document.body).mousemove(i);q.resize(p);b.each(this,s);i();return this};b.fn.realshadow.update=p;var h={nMax:2.3,pow:0.8,div:1500}})(jQuery,this);