0

我知道如果没有我的很多源代码很难给出答案,但我想知道之前是否有人遇到过这个问题。这是我的延迟加载代码。

function displayLogo(merchant,merchantLogoId){
 $.getJSON("http://202.161.46.8:83/TGLWebService/logows/getBigLogo/"+merchant, function(data) {
      document.getElementById(merchantLogoId).innerHTML = ("<img class='lazy' src='img/icon/ImageLoading.jpg' data-original="+data.bigImageUrl+">");
      $('img.lazy').lazyload();
  }); 
}

当我运行我的网站并上下滚动并且延迟加载完美运行时,它运行良好。

问题发生了让我们说当我最初启动网站并且即使我向下滚动时也会加载前几张图像,但是如果我说打开我的导航菜单,当我向上和向下滚动时我的延迟加载停止工作,即它不加载其余未加载的图像。

我尝试使用 $('img.lazy').lazyload(); 在 document.ready 内部并移出 displaylogo 功能,但它根本不起作用,即当页面加载时,延迟加载根本不起作用。

任何帮助将不胜感激。

4

1 回答 1

0

尝试添加一个 .complete(); 到 getJSON

例如

    $.getJSON('include/controllers/getCats.php', function(data) {
    jsonObj = data;
}).complete(function(){
       $('img.lazy').lazyload();

});
于 2013-08-20T15:16:08.713 回答