Skip to content

Instantly share code, notes, and snippets.

@peterhughesdev
Created January 20, 2012 11:46
Show Gist options
  • Save peterhughesdev/1646996 to your computer and use it in GitHub Desktop.
Save peterhughesdev/1646996 to your computer and use it in GitHub Desktop.
Minified version of jQuery UI color functionality
$.each("backgroundColor,borderBottomColor,borderLeftColor,borderRightColor,borderTopColor,borderColor,color,outlineColor".split(","),function(c,a){$.fx.step[a]=function(b){if(!b.colorInit)b.start=getColor(b.elem,a),b.end=getRGB(b.end),b.colorInit=!0;b.elem.style[a]="rgb("+Math.max(Math.min(parseInt(b.pos*(b.end[0]-b.start[0])+b.start[0],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[1]-b.start[1])+b.start[1],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[2]-b.start[2])+b.start[2], 10),255),0)+")"}}); function getRGB(c){var a;return c&&c.constructor==Array&&3==c.length?c:(a=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(c))?[parseInt(a[1],10),parseInt(a[2],10),parseInt(a[3],10)]:(a=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(c))?[2.55*parseFloat(a[1]),2.55*parseFloat(a[2]),2.55*parseFloat(a[3])]:(a=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c))?[parseInt(a[1],16),parseInt(a[2],16),parseInt(a[3],16)]: (a=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c))?[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)]:/rgba\(0, 0, 0, 0\)/.exec(c)?colors.transparent:colors[$.trim(c).toLowerCase()]}function getColor(c,a){var b;do{b=$.curCSS(c,a);if(""!=b&&"transparent"!=b||$.nodeName(c,"body"))break;a="backgroundColor"}while(c=c.parentNode);return getRGB(b)};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment