-
Notifications
You must be signed in to change notification settings - Fork 0
/
gradual.min.js
7 lines (7 loc) · 1.36 KB
/
gradual.min.js
1
2
3
4
5
6
7
/**
* Gradual: Transitioned gradient backgrounds
* MIT license http://www.opensource.org/licenses/mit-license.php/
* @author Kyle Foster http://kylefoster.me
* Stolen from http://bit.ly/10EDU9K & http://bit.ly/KvWBTK
*/
(function(e,t,n,r){e.fn.gradual=function(t){t=e.extend({},e.fn.gradual.options,t);return this.each(function(){function u(){var e=1-n,t=o[i[0]],u=o[i[1]],a=o[i[2]],f=o[i[3]],l=Math.round(e*t[0]+n*u[0]),c=Math.round(e*t[1]+n*u[1]),h=Math.round(e*t[2]+n*u[2]),p=Math.round(e*a[0]+n*f[0]),d=Math.round(e*a[1]+n*f[1]),v=Math.round(e*a[2]+n*f[2]),m="#"+(l<<16|c<<8|h).toString(16),g="#"+(p<<16|d<<8|v).toString(16),y=/mozilla/.test(navigator.userAgent.toLowerCase())&&!/webkit/.test(navigator.userAgent.toLowerCase())?"-moz-":/webkit/.test(navigator.userAgent.toLowerCase())?"-webkit-":/msie/.test(navigator.userAgent.toLowerCase())?"-ms-":/opera/.test(navigator.userAgent.toLowerCase())?"-o-":"";r.css({background:y+"linear-gradient(left top, "+m+" 0%, "+g+" 100%)"});n+=s;if(n>=1){n%=1;i[0]=i[1];i[2]=i[3];i[1]=(i[1]+Math.floor(1+Math.random()*(o.length-1)))%o.length;i[3]=(i[3]+Math.floor(1+Math.random()*(o.length-1)))%o.length}}var n=0,r=e(this),i=[0,1,2,3],s=t.transSpeed*.001,o=new Array([62,35,255],[60,255,60],[255,35,98],[45,175,230],[255,0,255],[255,128,0]);setInterval(u,t.transDelay)})};e.fn.gradual.options={transSpeed:2,transDelay:10}})(jQuery,window,document)