我为这个项目http://dl.dropbox.com/u/18292748/Sites/enblaze/index.html编写了一个自定义滑块,它似乎在除IE8之外的任何地方都能正常工作。最初加载页面的时候会发生什么,第一张幻灯片看起来不错,但是当你改变转到下一张幻灯片时,一切都会破坏:
主要改变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函数(仅限目标激活幻灯片,因为第一张幻灯片看起来很好)似乎不起作用。
我感到很无助。
答案 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);