我已尝试过此前(以及其他地方)发布的解决方案,用于在Internet Explorer IE中的jQuery fadeIn和fadeOut期间查看像素化和错误的文本。
两种解决方案似乎很常见:添加背景颜色或删除“过滤器”属性。
通过这种设计,我无法使用背景颜色修复(这有助于但不会完全消除问题)。
所以我一直在尝试“在fadeIn”修复后删除过滤器属性。 但它没有修复文本,而“removeAttribute”版本则停止了脚本。 你们是怎么让它上班的?
我的jQ代码如下。
感谢您考虑这个问题!
====================================
//此循环基于Pointy的另一个Stackoverflow答案
var divs = $('.myDiv'), i = 0;
function reveal() {
if (i == divs.length) divs.fadeIn(inTime, function(){
$('.mainPadding').css("height", "4000px");
});
divs.eq(i).fadeIn(inTime, function(){
//$(this).style.removeAttribute('filter');
$(this).removeAttr("filter");
}).delay(waitTime).fadeOut(outTime, function() {
i++;
setTimeout(reveal, 0);
});
}
setTimeout(reveal, 0);
答案 0 :(得分:2)
这是我在那里找到的......
// When fading a html node with the .fadeIn() and .fadeOut()
// functions in jQuery, IE drops the windows Cleartype rendering;
// which results in very ugly text. This override corrects that problem
jQuery.fn.fadeTo = function(speed, to, callback) {
return this.animate({ opacity: to }, speed, function() {
if (to == 1 && jQuery.browser.msie)
this.style.removeAttribute('filter');
if (jQuery.isFunction(callback))
callback();
});
};