Javascript can be used to animate color by calculating the between color values and writing each frame for a element. Canvas is an ideal choice to transform colors in this method because the methods used are standardized. Another alternative is to have two elements one transparent on top which has a key frame color and use a jquery fade with this element and fade to or from the background element which has the second color.
SVG however is the easiest method – an SVG tag is used <animateColor id=”a1″ attributeName=”fill” from=”red” to=”blue” dur=”3s”/> which only requires the key-frame values.