2013-06-20 73 views
1

我已经把网站放在一起涉及相当数量的不透明/褪色效果,但是一部分(菜单栏)在IE8中显示不正确,而且对于我来说我无法工作为什么。它可以在更高版本的IE以及正确的浏览器中正常工作。IE8不透明问题

该网站是最多的

http://stevorasp.no-ip.org

和完整的代码访问从那里,但据我可以做出来它与JS的这一部分:

$('a').fadeTo(0, 0); 
    $('a').addClass('hidden'); 
    $('#about_cont').fadeTo(0, 0); 
    $('#gigs_widget').addClass('hidden'); 
    $('#music_widget').addClass('hidden'); 
    $('#contact_cont').addClass('hidden'); 
    .... 
    setTimeout(function(){ 
     $('a').removeClass('hidden'); 
     $('a').fadeTo(1200, 0.7); 
     $('#about_cont').fadeTo(1200, 0.6); 
    }, 11700); 

我可能在这里错失了一些非常明显的东西,但我很难过。

是交代不清我的一点是,该网站做工精细,在IE8的不透明度影响内容部分,使用以下作为一个例子

$('#about').click(function() { 
     $('#about_cont').fadeTo(0,0); 
     $('#gigs_widget').animate({"opacity": 0}, 600); 
     $('#music_widget').animate({"opacity": 0}, 600); 
     $('#contact_cont').animate({"opacity": 0}, 600); 
     setTimeout(function(){ 
     $('#gigs_widget').addClass('hidden'); 
     $('#music_widget').addClass('hidden'); 
     $('#contact_cont').addClass('hidden'); 
     $('#about_cont').removeClass('hidden'); 
     }, 590); 
     setTimeout(function(){ 
     $('#about_cont').animate({"opacity": 0.6}, 600); 
     }, 610); 
    }); 
+0

我也试过 '$(“A”) .animate({“opacity”:0.7},1200);' 而不是fadeTo,但没有喜悦。 –

回答

0

与IE7 & 8的主要问题是,他们不没有适当的支持不透明效果。你可以在jQuery的,因为我知道它去掉了透明效果在IE 8使用CSS像

filter: alpha(opacity=70); 

然而,当您使用功能类似.fadeIn()等远。

有在这篇文章中提到的几个可能的变通:Opacity CSS not working in IE8

要知道,在IE8最上block级元素,这些只是工作。

+0

我想知道是否是这种情况,但网站的内容部分确实会淡入淡出 - 即使菜单栏没有显示链接处于活动状态并且功能与淡入淡出一样。 –

+0

看起来你正在使用.animate()作为内容位,而不是fadeIn(),也许尝试使用动画而不是使用fadeIn函数,看看是否能解决它。 – JanR

+0

也没有运气。 IE做我的头...... –

0

尝试在要设置动画的元素上使用css缩放属性。在你的情况,这样的事情,我认为:

a, a *, #about_cont{zoom:1;display:block} 

我couldn't上拨弄测试,因为它根本不支持IE < 9.0

+0

嗡嗡声yes是一种黑客攻击,但我们正在讨论Internet Explorer :) –

+0

公平的:)无论如何,不​​幸的是,不幸的是, ...我有一个唠叨的怀疑,这是一个hasLayout问题。当我有机会对它进行更彻底的测试时会更新 –

+0

您是否尝试过使用!重要的zoom属性? –