0

我正在尝试使用 jQuery 插件。我有这个代码淡入“灯箱”:

$('#cleverbox')
    .css({ opacity:0, visibility:'visible' })
    .animate( {opacity:1}, 2000 );

它在 Firefox 和 Chrome 上运行良好,但在 IE(7 和 8)和 Opera 中,元素只是出现而不是淡入。SO上有很多类似的问题,但我还没有找到可行的解决方案。

我有一个示例页面。我还有一些其他问题:

  1. 在 Internet Explorer(7 和 8)中,第一个缩略图从不显示灯箱(onload事件从不触发)。
  2. 在 IE7 中,修复 ClearType 错误的代码不起作用。$(this).css( 'opacity', '' )应该删除不透明样式(在本例中为“过滤器”属性),但不会删除它。在 IE 的开发工具中它仍然有style="filter: ;"
  3. 在 Opera 中,它在加载一次后永远不会运行。换句话说,如果图像在浏览器缓存中,则该onload事件永远不会触发。
4

2 回答 2

0

您是否尝试将不透明度值包装在'ie中$(something).animate({opacity:'1'});?每次都为我工作。

于 2010-02-09T15:02:56.363 回答
0

感谢 Opera 社区,我找到了 Opera 中的错误修复程序。我有这个:

var imgLoad = new Image();
imgLoad.src = linkUrl;
imgLoad.onload = function() {
    //do some stuff here
}

但是,如果图像在浏览器缓存中,它永远不会触发,因为加载部分位于 onload 函数之前。解决方案是将src赋值移到 onload 函数下方:

var imgLoad = new Image();
imgLoad.onload = function() {
    //do some stuff here
}
imgLoad.src = linkUrl;
于 2010-02-17T14:57:04.030 回答