@MelPosp

Почему в Fire Fox Lazy Load подгружает картинку после того, как прокрутил ее, а не перед?

Почему в Fire Fox Lazy Load подгружает картинку после того, как прокрутил ее, а не перед?
Сайт
В Opere и Chrome Все в норме

Скрипт Lazy Load
<script>var LazyLoad = {
  images: [],
 
  init: function () {
    this.initOnLoad();
    this.initOnScroll();
  },
 
  initOnLoad: function () {
    var that = this;
    $(window).on('load', function () {
      that.prepareImagesCollection();
      that.checkImages();
    });
    return false;
  },
 
  prepareImagesCollection: function () {
    var that = this;
 
    $('img[data-src]').each(function () {
      var image = {
        object: $(this),
        offset: $(this).offset().top,
        srcset: $(this).attr('data-srcset') ? $(this).attr('data-srcset') : null,
        src: $(this).attr('data-src') ? $(this).attr('data-src') : null,
        loaded: false
      };
 
      that.images.push(image);
    });
    return false;
  },
 
  checkImages: function () {
    var that = this;
    for (var i = 0; i < that.images.length; i++) {
      var image = that.images[i];
      if (image.loaded === false && image.offset < ($(window).scrollTop() + $(window).height() + 300)) {
        that.loadImage(image);
        image.loaded = true;
      }
    }
    return false;
  },
 
  loadImage: function (image) {
    image.object.attr('srcset', image.srcset)
      .attr('src', image.src)
      .removeAttr('data-srcset')
      .removeAttr('data-src');
    return false;
  },
 
  initOnScroll: function () {
    var that = this;
    $(window).on('scroll', function () {
      that.checkImages();
    });
    return false;
  }
};
 
LazyLoad.init();</script>
  • Вопрос задан
  • 55 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы