Internet explorer 8 Mootools 1.3 Fx.Morph';不透明度';不在IE8工作

Internet explorer 8 Mootools 1.3 Fx.Morph';不透明度';不在IE8工作,internet-explorer-8,mootools,opacity,Internet Explorer 8,Mootools,Opacity,我创建了一个div,里面有一个绝对定位的图像。这个想法是像脉冲一样淡入淡出图像。在IE8出现之前一切都很顺利 有关代码,请参见链接。在FF中工作良好,也就是说div在连续循环中淡入淡出。但在IE8中,它会淡入淡出一次,然后停止 在带有mootools 1.2.5的FF&IE8中工作良好,但在1.3或1.3兼容模式下不工作 出于某些奇怪的原因,如果onComplete中包含“fadeIn”之后的警报,则功能将在“fadeOut”onComplete中显示警报和第二个警报,但仍不会使div褪色 帮助

我创建了一个div,里面有一个绝对定位的图像。这个想法是像脉冲一样淡入淡出图像。在IE8出现之前一切都很顺利

有关代码,请参见链接。在FF中工作良好,也就是说div在连续循环中淡入淡出。但在IE8中,它会淡入淡出一次,然后停止

在带有mootools 1.2.5的FF&IE8中工作良好,但在1.3或1.3兼容模式下不工作

出于某些奇怪的原因,如果onComplete中包含“fadeIn”之后的警报,则功能将在“fadeOut”onComplete中显示警报和第二个警报,但仍不会使div褪色


帮助?

通过oncomplete只需在元素上画两个字,就很容易产生眨眼效果:

要修复您的版本,请执行以下操作:

如果将“不透明度”的初始值设置为0,则效果良好

var fadeImg = document.id('lucy').setStyle("opacity", 0);

var fadeIn = function() {
    var inDiv = new Fx.Morph(fadeImg, {
        link: 'cancel',
        duration: 2000,
        transition: Fx.Transitions.Quint.easeIn,
        onComplete: function() {
            fadeOut();
            //alert('FadeIn Complete');
        }
    }).start({
        'opacity': ['0', '1']
    });
};

var fadeOut = function() {
    var outDiv = new Fx.Morph(fadeImg, {
        link: 'cancel',
        duration: 2000,
        transition: Fx.Transitions.Quint.easeOut,
        onComplete: function() {
            fadeIn();
            //alert(FadeOut Complete!');
        }
    }).start({
        'opacity': ['1', '0']
    });
};

fadeIn();

更新IE似乎并不总是喜欢将此特定转换链接起来。您可能需要删除它并使用默认值。

通过oncomplete在元素上只做tween可能更容易产生闪烁效果:

要修复您的版本,请执行以下操作:

如果将“不透明度”的初始值设置为0,则效果良好

var fadeImg = document.id('lucy').setStyle("opacity", 0);

var fadeIn = function() {
    var inDiv = new Fx.Morph(fadeImg, {
        link: 'cancel',
        duration: 2000,
        transition: Fx.Transitions.Quint.easeIn,
        onComplete: function() {
            fadeOut();
            //alert('FadeIn Complete');
        }
    }).start({
        'opacity': ['0', '1']
    });
};

var fadeOut = function() {
    var outDiv = new Fx.Morph(fadeImg, {
        link: 'cancel',
        duration: 2000,
        transition: Fx.Transitions.Quint.easeOut,
        onComplete: function() {
            fadeIn();
            //alert(FadeOut Complete!');
        }
    }).start({
        'opacity': ['1', '0']
    });
};

fadeIn();

更新IE似乎并不总是喜欢将此特定转换链接起来。您可能需要删除它并使用默认值。

+1表示@Dimitar。而且,我喜欢链接到JSFIDLE的方式在这里变得如此流行!不。您的两个重解析在IE8中都不适用于Mootools 1.3。奇怪的是,在IE8中对我来说都可以。但在ie7中,如果存在特定的fx.transition,则不存在。一旦我去掉它,它看起来就好了。奇怪的是,如果fx.transition引用被删除,那么它在IE8中对我有效。但现在“transition:'quint:in'”也会起作用。@Dimitar的+1。而且,我喜欢链接到JSFIDLE的方式在这里变得如此流行!不。您的两个重解析在IE8中都不适用于Mootools 1.3。奇怪的是,在IE8中对我来说都可以。但在ie7中,如果存在特定的fx.transition,则不存在。一旦我去掉它,它看起来就好了。奇怪的是,如果fx.transition引用被删除,那么它在IE8中对我有效。但现在“过渡:'quint:in'”也会起作用。