画像をグレースケールに変更するためのCSSがいくつかあります(Firefoxの場合はいくつかのsvgがあります)
img.grayscale{
filter: grayscale(100%);
-webkit-filter: grayscale(100%);
-moz-filter: grayscale(100%);
-ms-filter: grayscale(100%);
-o-filter: grayscale(100%);
filter: url(desaturate.svg#greyscale);
filter: gray;
-webkit-filter: grayscale(1);
}
しかし、グレースケールの値を0に変更するために、ホバー時にアニメーションが必要です。
私はこのコードを持っていますが、それは何もしません(もちろんクロームでは)、なぜそれがまったくアニメーション化されないのか分かりません。
<script type="text/javascript">
$(".grayscale").hover(
function () {
$(this).animate({
'-webkit-filter': 'grayscale('0'%)'
}, 300);
}
);
</script>
%を100%から0%までアニメートすることは可能だと思いますね。
編集:私はすべてのブラウザで実行しようとしています。Chromeだけでなく、Chromeでテストを実行しているため、すべてのプロパティを変更しているわけではありません。クロームの答えが見つかったら、他のブロワーにも同じことができると思います:)