[thelist] Javascript (Math Skills Needed)

Christian Heilmann codepo8 at gmail.com
Wed Aug 8 13:03:52 CDT 2007


Here is a fix that does all:
function fader(element,rgb,endRGB) {
  if (element.fade) {
    clearTimeout(element.fade);
  }
  element.style.backgroundColor = "rgb("+rgb.join(',')+")";
  rgb[0] = (rgb[0]< endRGB[0]) ? rgb[0]+=10 : endRGB[0];
  rgb[1] = (rgb[1]< endRGB[1]) ? rgb[1]+=10 : endRGB[1];
  rgb[2] = (rgb[2]< endRGB[2]) ? rgb[2]+=10 : endRGB[2];
  if(rgb[0] === endRGB[0] && rgb[1] ===  endRGB[1] && rgb[2] === endRGB[2]){
    return;
  }
  var repeat = function() {
    fader(element,rgb,endRGB);
  };
  element.fade = setTimeout(repeat,1);
}

syntax:
fader(oElement,aStartRGB,aEndRGB);

Example:
fader(document.getElementById('bla'),[0,0,0],[244,111,23]);

Doesn't fade out, that'll need some more work.

Or just use http://developer.yahoo.com/yui/examples/animation/colors.html :-)



More information about the thelist mailing list