IE图像显示问题

时间:2009-12-31 12:56:46

标签: jquery image internet-explorer

我现在正在网站上工作:companhiadopijama.com.br/new我在IE(7& 8)中遇到了最棘手的问题.6我对atm并不在乎。

我的PNG在悬停时显示部分黑色背景(在我的菜单中)&我的JPG在jquery环形交叉路口首次出现,然后变为白色到黑色渐变..我首先将它们作为PNG但是也遇到了同样的问题。

网站上的代码有点乱,抱歉还在学习,但所有相对的jquery都在init.js& css位于companhiadopijama.com.br/new/css/main.css

有没有人见过这个?有什么建议吗?

提前致谢

B'/ P>

5 个答案:

答案 0 :(得分:2)

我在png图像中遇到了类似的透明度问题。 Firefox和Safari可以轻松处理透明部分,但在IE中这些部分只是黑色。确保图像中没有透明部分。

答案 1 :(得分:2)

这是因为你(通过jQuery)使用alpha-opacity滤镜来衰减效果。 IE根本不支持透明-PNG加上不透明度:alpha滤镜的不透明度级别会覆盖每像素不透明度级别,导致背景像素失去透明度。

AlphaImageLoader修复与IE6相同,背景设置为白色,你可以得到一些不同的效果,虽然仍然是错误的,但通常对眼睛的攻击性较差(像素透明度和alpha滤镜的不透明度较低;当然应该成倍增加)。另一种方法是放弃对IE的淡入/淡出效果。

答案 2 :(得分:2)

从脚本中删除它,就是这样

.css('opacity', (info.opacity.min + (info.opacity.diff * factors.scale)).toFixed(2))

答案 3 :(得分:1)

我删除了该行,它与IE7,8,9完美配合。它仍然无法在IE6上运行。

对于pngfix,我试过“supersleight”插件,除了在环形交叉路口外,每个IE都能很好地工作。

我正在使用一个小的PHP函数来为IE提供没有不透明度的脚本:

            if(usingIE())
                echo "<script src='".ROOT."_js/jquery.roundabout.js' type='text/javascript'></script>";
            else
                echo "<script src='".ROOT."_js/jquery.roundabout.min.js' type='text/javascript'></script>";


             echo "   




                <script>
                    $(document).ready(function() {
                        $('ul#teacherslist').roundabout({
                           minOpacity: 0.6, // invisible!
                           minScale: 0.3,
                           maxScale: 1,
                           shape: 'lazySusan',
                           duration: 600,
                           minZ:2000,
                           maxZ:2001,
                           btnNext: '#next',
                           btnPrev: '#previous'
                        });
                    });
                </script>

我仍然想知道为什么IE6会给出更多麻烦!

答案 4 :(得分:0)

这是IE处理em大小的问题..我不得不将图像大小调整为em大小的1.6%。一切都有效..