2

我正在使用这个延迟加载代码。

JS代码:

$(window).on('scroll touchmove', function(){
  if( $('.touch').length) {
    var images = $('.theme-slider img[data-lazy]');
    images.each(function(index){
        if(isElementVisible(this)) {
            $(this).attr('src', $(this).attr('data-lazy'));
            $(this).removeAttr('data-lazy');
        }
    })
    if(images.length == 0) { 
        $(window).off('scroll touchmove');
    }
  }
});


// Checking if an image is within the viewport
function isElementVisible(el){ 
  var rect = el.getBoundingClientRect();
  return (
    rect.top >= 0 && 
    rect.left >= 0 &&
    rect.bottom <= (window.innerHeight) &&
    rect.right <= (window.innerWidth)   
  );    
}

我的问题出在 iPhone 上,当我水平滚动时,如果图像进入了它没有加载的视口,我必须前后滚动直到它工作。有什么想法可以解决吗?

4

0 回答 0