IE中的文本失真

时间:2011-01-31 11:38:14

标签: javascript jquery internet-explorer-8 apache-shindig

我正在使用shinding引擎,每当我移动一个小工具进行重新定位时,该小工具内的粗体文本就会失真。

  1. Before Moving gadget
  2. After moving gadget

3 个答案:

答案 0 :(得分:5)

IE存在一个问题,即一旦DOM的某些部分被修改,它就会停止使用抗锯齿。有一些解决方法(谷歌为这些)。我认为IE9解决了这个问题。

看到这个问题: jQuery fadeIn leaves text not anti-aliased in IE7

其中的一些链接似乎已经死了。

这两个更改中的一个可能会有所帮助(您可能需要尝试将它们应用到哪个元素):

myElement.style.filter = '';

$(myElement).removeAttr('style');

其他信息: http://reference.sitepoint.com/css/haslayout http://reference.sitepoint.com/css/filter

答案 1 :(得分:2)

Internet Explorer在执行jQuery淡化和您给出的示例等任务时暂时摆脱了抗锯齿!

答案 2 :(得分:1)

这是自定义fadeIn / fadeOut / fadeTo 来解决您的问题

(function($) {
    $.fn.customFadeIn = function(speed, callback) {
        $(this).fadeIn(speed, function() {
            if(!$.support.opacity)
                $(this).get(0).style.removeAttribute('filter');
            if(callback != undefined)
                callback();
        });
    };
    $.fn.customFadeOut = function(speed, callback) {
        $(this).fadeOut(speed, function() {
            if(!$.support.opacity)
                $(this).get(0).style.removeAttribute('filter');
            if(callback != undefined)
                callback();
        });
    };
    $.fn.customFadeTo = 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();
        });
    };
})(jQuery);