まあ、私はよく知られている/一般的なバグのようなIEに問題があります。他のブラウザでもうまく動作するjQueryで構築した画像スライドショーがあります。しかし、IEでは、スライドショーが一度実行されるとアンチエイリアスされたテキストに問題が発生しました。言い換えれば、スライドショーに3つの画像がある場合、それらの3つの画像のそれぞれがそのテキストと共に最初に現れるとき、テキストは適切にレンダリングされる。ただし、スライドショーが終了すると、テキストはアンチエイリアス処理されます。jQueryでテキストの不透明度をアニメートするときのIEのクリアタイプ/フィルタの問題を修正しました
私はこれを読んで、最高の修正方法について無数のブログを見ました。不透明度は次のように100%になると、私が遭遇した最も一般的な修正は、フィルタ属性を削除します
$('#sample').animate({opacity:1.0}, 500,
function() {
$(this).css('filter','');
}
)。
これはうまくいくようです。しかし、私はまだjQueryの専門家ではないので、私は自分のコードでこれを実装すべき場所を見つけるのが難しいです。私が試したどこでも、スライドショーが動作しなくなったり、吹き飛ばされたりして、すべての画像がページの上下に表示されます。
以下は私が使用しているコードですが、あなたが私に与えることができる助けに感謝します。ありがとう!
if(options.fade === true) {
$("ul",obj).children().css({
'width' : $("ul",obj).children().width(),
'position' : 'absolute',
'left' : 0
});
for(var i = $("ul",obj).children().length -1, y = 0; i >= 0; i--, y++) {
$("ul",obj).children().eq(y).css('zIndex', i + 99999);
}
fade();
}
function fade() {
setInterval(function() {
$("ul",obj).children(':first').animate({ 'opacity' : 0}, options.speed, function() {
$("ul",obj)
.children(':first')
.css('opacity', 1)
.css('zIndex', $("ul",obj).children(':last').css('zIndex') - 1)
.appendTo("#db-slider-ul");
});
}, options.pause);
}
});