ウェブサイトの色を反転するボタンがあります。rgb color と呼ばれるプラグイン ( http://www.phpied.com/rgb-color-parser-in-javascript/ ) を使用して、すべての dom 要素の色の値を取得し、それらを反転します。私は以下のコードでそれをやっています:
invertColors: function(){
var colorProperties = ['color', 'background-color'];
//iterate through every element
$('*').each(function() {
var color = null;
for (var prop in colorProperties) {
prop = colorProperties[prop];
if (!$(this).css(prop)) continue; //if we can't find this property or it's null, continue
color = new RGBColor($(this).css(prop)); //create RGBColor object
if (color.ok) { //good to go, build RGB
var element = $(this);
$(this).css(prop, 'rgb(' + (255 - color.r) + ', ' + (255 - color.g) + ', ' + (255 - color.b) + ')'); //subtract each color component from 255
}
color = null; //some cleanup
} //end each for prop in colorproperties
}); //end each
} //end invert colors
私がやりたいのは、単に色を反転するのではなく、トゥイーンすることです。jquery よりも最大 20 倍高速であると思われる greensock トゥイーン エンジンを試してみたいと思っていますが、必要に応じて別の方法を使用できます。彼らのトゥイーンエンジンはここに文書化されています:
http://www.greensock.com/get-started-js/#css
おそらく、私は次のような電話をかけることができるはずです:
TweenLite.to(element, 1, {css:{prop:'rgb(' + (255 - color.r) + ', ' + (255 - color.g) + ', ' + (255 - color.b) + ')' }, ease:Power2.easeOut});
しかし、これは機能していません(エラーはスローされません)ので、何が間違っているのかわかりません。これを機能させる方法、またはこれらすべての色のプロパティをトゥイーンする最速の方法についてのアイデアはありますか?