Изображения jQuery с fadeIn () не загружаются, когда страница кэшируется или доступна через кнопку возврата - PullRequest
2 голосов
/ 01 февраля 2010

В начале моего скрипта у меня есть:

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

, который хорошо исчезает во всех миниатюрах на странице по мере их загрузки.Однако при повторном доступе к странице (когда она кэшируется) или при нажатии кнопки «Назад» в браузере изображения остаются скрытыми и никогда не появляются.Я должен вручную обновить страницу.

Что я делаю не так?

Спасибо.

Ответы [ 2 ]

3 голосов
/ 01 февраля 2010

Попробуйте, так как .load() может не срабатывать во всех браузерах при извлечении из кэша :

jQuery(function() {
  jQuery('img.thumbnail').hide().each(function() {
     if (this.complete)
        $(this).fadeIn();
     else
        $(this).load( function() { $(this).fadeIn(); });
  });
});
0 голосов
/ 01 февраля 2010

Вы пытались добавить его в оператор $(document).ready()? Затем он должен запускаться всякий раз, когда страница загружается.

...