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