【问题标题】:Loader dissapears but image not rendered entirely加载程序消失,但图像未完全渲染
【发布时间】:2017-05-18 16:10:43
【问题描述】:

我的页面上有很多静态照片。我的目标是在页面和图像加载时显示一个加载器。问题是我的加载器消失后,图像还没有完全渲染。

如何让加载器在图像完全渲染后消失?

这是我目前来自不同来源的尝试。

Javascript:

(function(){

  function id(v){return document.getElementById(v); }

   function loadbar() {
var ovrl = id("overlay"),
    prog = id("progress"),
    stat = id("progstat"),
    img = document.images,
    c = 0;
    tot = img.length;

function imgLoaded(){
  c += 1;
  var perc = ((100/tot*c) << 0) +"%";
  prog.style.width = perc;
  stat.innerHTML = "Loading "+ perc;
  if(c===tot) return doneLoading();
}
function doneLoading(){
  ovrl.style.opacity = 0;
  setTimeout(function(){ 
    ovrl.style.display = "none";
  }, 1200);
}
for(var i=0; i<tot; i++) {
  var tImg     = new Image();
  tImg.onload  = imgLoaded;
  tImg.onerror = imgLoaded;
  tImg.src     = img[i].src;
}    


}document.addEventListener('DOMContentLoaded', loadbar, false);}());

【问题讨论】:

    标签: javascript html jquery event-handling dom-events


    【解决方案1】:

    您缺少正文中的图像

    ...
    function doneLoading(){
      ovrl.style.opacity = 0;
      setTimeout(function(){ 
        ovrl.style.display = "none";
      }, 1200);
      //you should put
      document.body.appendChild(this);
    }
    ...
    

    【讨论】:

      猜你喜欢
      • 2020-02-07
      • 2012-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-09
      • 2012-12-10
      • 2012-07-31
      相关资源
      最近更新 更多