1

我想在使用 CSS 隐藏页面加载时淡入一些图像(显示:无;)。
这在 Firefox、Chrome、Safari、 On Opera(最新版本:12.12)上运行良好
,img 随机显示...

这是Jquery代码:

$(document).ready(function () {
        $('img:hidden').load(function () {
            $('img:hidden').fadeIn(1000);
        });
    });

有人知道为什么它会在 Opera 上随机运行吗?

谢谢

4

2 回答 2

1

首先,如果图像可见,“加载”事件会更好地触发。此外,根据我自己的经验,在某些情况下(例如 IE),以下技巧有助于解决问题。

$(document).ready( function() {

  if ( $.browser.opera ) {
    $('img:hidden').each( function() {
      $('img:hidden').fadeIn(1000);
    });
  }
  else {
    $('img:hidden').load( function() {
      $('img:hidden').fadeIn(1000);
    });
  }

});
于 2013-01-30T08:56:48.377 回答
0

好吧,你真的不能错过 jQuery Docu 中的相应注释。字体大小就像500px ...也许太大而无法识别?;-D

与图像一起使用时加载事件的注意事项

开发人员尝试使用 .load() 快捷方式解决的一个常见挑战是在图像(或图像集合)完全加载时执行一个函数。应该注意几个已知的警告。这些都是:

它不能始终如一地工作,也不能可靠地跨浏览器

如果图像 src 设置为与以前相同的 src,它不会在 WebKit 中正确触发

它没有正确地冒泡 DOM 树

可以停止对已经存在于浏览器缓存中的图像进行触发

于 2013-01-30T08:51:42.210 回答