我们如何检测图像加载完成在我们的网页上
How do we detect image loading finished on our webpage?
我想把图像放入字幕滚动文本中。因为字幕文本函数需要在开始滚动之前检测它正在滚动的项目(文本和图像)的长度。这只能在图像加载到页面上时完成,这将需要一些时间,因为我的图像来自服务器。所以,我需要知道图片是什么时候加载完成的这样我才能开始滚动。
下面是我现在使用的图像完成加载检测javascript。我用的是socket。IO接收图像信息:
var images_expected = 0;
socket.on('res-displaySetting', function(display){
images_expected = display.runningText.length;
$('.marquee').marquee('destroy');
var html = "";
for(var k=0; k < display.runningText.length; k++)
{
if ((display.runningText[k].image == "") && (display.runningText[k].message == ""))
{
images_expected--;
continue;
}
else if (display.runningText[k].image == "")
{
html += display.runningText[k].message;
images_expected--;
}
else if (display.runningText[k].message == "")
html += " <img src='" + serverIP + "/img/" + display.runningText[k].image + "'> ";
else
html += " <img src='" + serverIP + "/img/" + display.runningText[k].image + "'> " + display.runningText[k].message;
}
$('.marquee').html(html);
if (html != "") initMarquee();
});
function initMarquee() {
interval = window.setInterval(checkImagesLoaded, 1000);
}
function checkImagesLoaded() {console.log("checking");
if ($('.marquee img').length === images_expected) {
clearInterval(interval);
setTimeout(startMarquee);
}
}
function startMarquee() {
$('.marquee').marquee({duration: 8000});
}
有一个checkImageLoad()函数来检查图像是否已加载。它会检查1秒。之后,字幕滚动文本将开始。有时图像会加载完毕,但有时图像不会加载完毕,只是显示一个方形的空框。
我尝试将检查时间增加到5秒或10秒也没有用。有时它就是无法加载。我想它会把这个方形的空框当作已经加载的图片。
你们觉得怎么样?有没有更好的方法来检测图像完成加载?
看一下。load() jquery函数
https://api.jquery.com/load-event/如果使用
$( "img" ).load(function() {
// Handler for .load() called.
});
将在img加载完成后执行
相关文章:
- 如何防止网页加载后自动启动功能
- 如何使用Node.js最有效地解析网页
- 在Highcharts中,我们可以通过任何方式在渲染图表之前获得plotWidth和plotHeight
- 当我们打开ADF应用程序的同一网页的不同版本时,如何让浏览器请求java脚本
- 我们可以在浏览器会话中跨网页引用 JavaScript 变量吗?
- 我们每个网页的Javascript文件中的这些代码行在做什么
- 我们可以在不将其加载到无限可滚动网页中的情况下访问 DOM 元素吗?
- 我们可以使用Selenium WebDriver自动化HTML5网页吗?
- 如何在HTML5网页中本地保存数据,这样我们就不需要一次又一次地从服务器获取
- 如何重新加载浏览器的每一个标签打开我们的网页
- 我们怎么能只改变网页的内部部分呢?
- 在我们的网页中嵌入谷歌地图(或谷歌地球)
- 在哪个订单网页代码执行,我们如何改变订单
- 我们能用chrome.downloads.download下载完整的网页吗?(Google Chrome扩展)
- 点击网页上的一个按钮,可以生成一个动态链接吗?我们可以浏览网页到动态生成的链接
- 我们如何在不使用硒的情况下从Java代码点击网页
- 我们如何检测图像加载完成在我们的网页上
- 如何知道用户打开我们网页的时间
- 如何在没有同源政策的情况下将谷歌结果放入我们的网页
- 我们能否将表单元素的值传递给同一个网页中的函数?