jQueryのフェード系メソッド + IEで、文字が潰れる問題

タイトルの通りなのだけどIE環境で特定要素に、

$('div').fadeIn('fast');

など、フェード系のメソッド(sideToggleとかいろいろ)かけると、
文字が潰れてジャギジャギなる。
より具体的にいうと、ClearTypeWindowsの文字のアンチエイリアシング方式)が無効になるんだそう。
悔しいこれ。

IEでは、透明度を”filter”という独自仕様で指定するのだけど、
コレとフォントのClearTypeが干渉するんだって。

$('div').fadeIn('fast',function() {
	if ( !jQuery.support.leadingWhitespace ) { this.style.removeAttribute('filter'); }
});

などと、フェード系のメソッドのcallbackで、IE判定してremoveAttributeでfilter消してやればいいみたい。

コメントをどうぞ

メールアドレスが公開されることはありません。 が付いている欄は必須項目です