jQuery IE8 CSS не работает или по крайней мере не работает правильно - PullRequest
2 голосов
/ 01 марта 2012

Я написал собственный слайдер для этого проекта 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();
                    });
                });
            });
        });
    }
}

Это полный js-источник для слайдера http://dl.dropbox.com/u/18292748/Sites/enblaze/assets/javascripts/lib/slider.js Не очень красиво, но до сих пор это работало.Я пытался создать условный таргетинг только для ie8, но даже функция addClass (предназначенная только для активированного слайда, так как первый слайд выглядит нормально), похоже, не работает.

Я чувствую себя беспомощным.

Ответы [ 2 ]

2 голосов
/ 01 марта 2012

Попробуйте установить position:absolute только для IE8.

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

Или попробуйте выбрать хак, который работает только для IE8. http://dimox.net/personal-css-hacks-for-ie6-ie7-ie8/

1 голос
/ 01 марта 2012

Я бы определенно предположил, что это как-то связано с вашей непрозрачностью, IE8 не может отобразить 'opacity', вместо этого он использует filter: alpha (opacity = x);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...