jQuery IE8 css无法正常工作或至少无法正常工作

时间:2012-03-01 13:52:53

标签: jquery css internet-explorer-8

我为这个项目http://dl.dropbox.com/u/18292748/Sites/enblaze/index.html编写了一个自定义滑块,它似乎在除IE8之外的任何地方都能正常工作。最初加载页面的时候会发生什么,第一张幻灯片看起来不错,但是当你改变转到下一张幻灯片时,一切都会破坏:

IE8Fail

主要改变css的两个函数是:

function showAnimation(slide) {
    if(animating || visible) {
        return;
    } else {
        animating = true;
        //enter animation
        // slide.wrapper.css({'visibility': 'visible'});
        // $('wrap_slides').addClass('ieFails');
            slide.bg.animate({'opacity':1}, speed, function() {
                slide.sep.animate({'opacity':1}, speed+400);
                    slide.typo.animate({'opacity':1, top:0}, speed, function() {
                         slide.people.animate({'opacity':1}, speed, function() {
                             slide.preview.animate({'opacity':1},speed, function () {
                                 animating = false;
                                 visible = true;
                             });
                         });
                     });
            });
    }
}

function hideAnimation(slide, cb) {
    if(animating || visible==false) {
        return;
    } else {
        animating = true;
        //exit animation
        slide.preview.animate({'opacity':0},speedxit, function() {
            slide.people.animate({'opacity':0},speedxit,function() {
                slide.sep.animate({'opacity':0},speedxit, function() {
                    slide.typo.animate({'opacity':0, 'top': -220},speedxit, function() {
                        animating = false;
                        visible = false;
                        $('.wrap_slide').css({'z-index':8});
                        slide.wrapper.css({'z-index':9});
                        cb();
                    });
                });
            });
        });
    }
}

这是滑块http://dl.dropbox.com/u/18292748/Sites/enblaze/assets/javascripts/lib/slider.js的完整js源 不是那么漂亮,但它到目前为止工作。 我试图仅对ie8进行条件定位,但即使是addClass函数(仅限目标激活幻灯片,因为第一张幻灯片看起来很好)似乎不起作用。

我感到很无助。

2 个答案:

答案 0 :(得分:2)

尝试仅为IE8设置position:absolute

.ie8 .slide_preview.monitor{
    position:absolute;
    top:0
}

或尝试选择仅适用于IE8的黑客攻击。 http://dimox.net/personal-css-hacks-for-ie6-ie7-ie8/

答案 1 :(得分:1)

我肯定猜测它与你的不透明度有关,IE8无法呈现'不透明度',而是使用 filter:alpha(opacity = x);