在IE8jQuery循环中消失的图像

在IE8jQuery循环中消失的图像,jquery,internet-explorer-8,cycle,Jquery,Internet Explorer 8,Cycle,我这辈子都无法解决这个问题。到目前为止只有IE8。我在主页周期中也遇到了同样的问题,但通过声明宽度、高度和背景来解决:无!有关img的重要信息 我认为这可能是一个png问题,但JPG也是如此: 同样的结果:通常幻灯片中两个图像中的第一个图像闪烁,然后消失 任何想法都值得赞赏 解决方案:我最初的修复最终也解决了这个问题:添加背景:不重要!,并声明宽度/高度。它在附加模板上不起作用,因为我在ul#产品图像中使用的是类而不是id 羞耻,它燃烧!对不起,浪费了大家的时间 body.home #fron

我这辈子都无法解决这个问题。到目前为止只有IE8。我在主页周期中也遇到了同样的问题,但通过声明宽度、高度和背景来解决:无!有关img的重要信息

我认为这可能是一个png问题,但JPG也是如此:

同样的结果:通常幻灯片中两个图像中的第一个图像闪烁,然后消失

任何想法都值得赞赏

解决方案:我最初的修复最终也解决了这个问题:添加背景:不重要!,并声明宽度/高度。它在附加模板上不起作用,因为我在ul#产品图像中使用的是类而不是id

羞耻,它燃烧!对不起,浪费了大家的时间

body.home #front-slider #front-slides .slide{
background:none !important;
width: 980px;
height: 389px;
}

body.home #front-slider #front-slides .slide .slide-image img{
    background:none !important;
    width: 629px;
    height: 345px;
}

body.page-template-page-product-view-php ul#product-images .slide, body.page-template-page-product-view-wide-php ul#product-images .slide{
    background:none !important;
    width: 970px;
    height: 300px;
}

听起来图像还在加载

试试这个

$(window).load(function() {
    $('#product-images, #front-slides').cycle({
        timeout: '7000',
        next: '#next',
        prev: '#prev',
        pager: '#pager',
        pagerAnchorBuilder: function(idx, el) {
                return '<a href="#"></a>';
            }
    });
 });
$(窗口).load(函数(){
$(“#产品图片,#前幻灯片”)。循环({
超时:“7000”,
下一个:“#下一个”,
上一页:“#上一页”,
寻呼机:“#寻呼机”,
pagerAnchorBuilder:函数(idx,el){
返回“”;
}
});
});

window.load()
将在加载DOM和页面的图像后激发,其中
document.ready()
仅在加载DOM后激发。

我也遇到了这个问题,我将其追溯到CSS规则

img {
  max-width: 100%;
}
一旦我删除了上述规则(在本例中我不需要它),图像就不再消失。

更改

img {
    max-width: 100%;
}


如果你想保持

max-width: 100%;
然后再加上

width: auto;
或者从HTML中删除显式的宽度和高度属性

或者将图像放入非浮动容器中

或者为容器指定特定的宽度

这里有一篇关于这个bug的很好的文章:


CSS3Pie有助于停止仇恨IE:CSS3Pie如何帮助消除仇恨?很抱歉,看不到连接。css3 pie修复了各种IE8 CSS怪癖。IE对
窗口非常挑剔。也加载
。在DOM加载之前/期间,图像是否以任何方式隐藏(
显示
可见性
)?Cycle插件只是直接将图像父级
  • 的不透明度属性从0更改为1,并将显示设置为块或无,这取决于它是否是当前幻灯片。我注意到IE8将忽略
    窗口。load()
    用于隐藏或不可见的图像。在再次显示之前,它们仍然不会加载。让我找到我的工作环境。@luke,对不起,我的工作环境不适用于Cycle,因为它是我自己插件的一部分。我建议在调用Cycle之前进行图像预加载。这很难看,但即使是IE8也能用。这对我很有用。最大宽度:100%来自幻灯片,所以我不想在幻灯片放映之外删除它。我奇迹般地用.slide img{max width:inherit}覆盖了它,这也解决了我的问题。它应该记录在某个地方,因为<代码>最大宽度:100%
  • 是适应移动浏览器的常见技巧。
    width: auto;