当页面被缓存或通过后退按钮访问时,不会加载带有fadeIn()的jQuery图像

时间:2010-02-01 00:33:21

标签: javascript jquery jquery-ui javascript-events

在我的剧本开头,我有:

jQuery(function() {
  jQuery('img.thumbnail').hide().load( function() {
    jQuery('img.thumbnail').fadeIn();
  });
});

在加载页面时,页面上的所有缩略图都会很好地淡化。但是,当我第二次访问该页面时(当它被缓存时),或者当我在浏览器中按下后退按钮时,图像会保持隐藏状态并且永远不会出现。我必须手动刷新页面。

我做错了什么?

感谢。

2 个答案:

答案 0 :(得分:3)

尝试此操作,因为.load() may not fire on all browsers when fetching from cache

jQuery(function() {
  jQuery('img.thumbnail').hide().each(function() {
     if (this.complete)
        $(this).fadeIn();
     else
        $(this).load( function() { $(this).fadeIn(); });
  });
});

答案 1 :(得分:0)

您是否尝试将其添加到$(document).ready()声明中?然后它应该在页面加载完毕时运行。