Javascript 加载和呈现html中的图像时是否有类似于就绪事件的情况?

Javascript 加载和呈现html中的图像时是否有类似于就绪事件的情况?,javascript,jquery,html,Javascript,Jquery,Html,我正在为iPad创建一个webview应用程序,希望在加载和渲染索引文件和一组图像之前显示一个splashscreen 我希望在加载和渲染所有图像时,此splashscreen消失,这样用户就不会看到非缓存图像的典型图像加载和渲染 浏览器中是否有我可以捕捉到的用于图像渲染的事件,或者是否有任何Javascript插件可以做到这一点?有两个事件侦听器DOMContentLoaded和load。从所有资源(包括广告和图像)加载完所有文件后,将触发加载事件。图像是在下载过程中呈现的,因此这应该是您正在

我正在为iPad创建一个webview应用程序,希望在加载和渲染索引文件和一组图像之前显示一个splashscreen

我希望在加载和渲染所有图像时,此splashscreen消失,这样用户就不会看到非缓存图像的典型图像加载和渲染


浏览器中是否有我可以捕捉到的用于图像渲染的事件,或者是否有任何Javascript插件可以做到这一点?

有两个事件侦听器DOMContentLoaded和load。从所有资源(包括广告和图像)加载完所有文件后,将触发加载事件。图像是在下载过程中呈现的,因此这应该是您正在寻找的


查看

您可以向每个图像添加
.load()
,然后通过声明变量来检查何时加载了所有图像。

我将为您写出:

loadedImages = 0;
timesChecked = 0;
checkInterval = 500;
maxLoadTime = 10000; // in miliseconds
window.onload = function() {
  for (var i = 0; i < document.getElementsByName('img').length; i++) {
    document.getElementsByName('img')[i].onload = function() {
      loadedImages++;
    }
  }
  intervalID = setInterval("checkSplash()", checkInterval);
}

function checkSplash() {
  timesChecked++;
  if (loadedImages >= document.getElementsByName('img').length || timesChecked * checkInterval >= maxLoadTime) {
    clearInterval(intervalID);
    // hide splash screen
  }
}
loadeImage=0;
检查时间=0;
检查间隔=500;
maxLoadTime=10000;//以毫秒为单位
window.onload=函数(){
for(var i=0;i=document.getElementsByName('img').length | | timesChecked*checkInterval>=maxLoadTime){
clearInterval(intervalID);
//隐藏启动屏幕
}
}
享受:)

其实很简单:

来自:“在完全接收图像等所有资产之前不会触发此事件。”…似乎
$(document)。ready()
应该做到这一点:)在同一个文档上,它实际上表示在处理图像时使用load()。但无论如何,谢谢你把我指进这一页!这实际上是一个非常糟糕的主意,因为当您错误地键入一个图像url时,访问者将无法通过启动屏幕。你可以制作一个计时器,或者在一段时间后关闭启动屏幕,即使很艰难,也不会加载所有内容(由于服务器问题或url不正确)。这对单个图像有效,我的页面有多个图像,我需要知道每个人何时加载:)我制定了一个完整的解决方案,希望你喜欢