我有一个img标签在我的网页上。我给予它的网址为一个IP摄像头从那里得到的图像和显示他们。我想显示图像时,它是完全加载。这样我就可以避免闪烁。我做以下。
<img id="stream"
width="1280" height="720"
alt="Press reload if no video displays"
border="0" style="cursor:crosshair; border:medium; border:thick" />
<button type="button" id="btnStartLive" onclick="onStartLiveBtnClick()">Start Live</button>
JavaScript代码
function LoadImage()
{
x = document.getElementById("stream");
x.src = "http://IP:PORT/jpg/image.jpg" + "?" + escape(new Date());
}
function onStartLiveBtnClick()
{
intervalID = setInterval(LoadImage, 0);
}
在这段代码中。当图像很大时。它需要一些时间来加载。同时它开始显示加载的图像部分。我想显示完整的图像并跳过加载部分谢谢
3条答案
按热度按时间b5lpy0ml1#
预加载映像,并在映像加载完成后替换
<img />
的源代码。67up9zun2#
您可以使用
complete
属性来检查图像是否已经完成加载。但是,我认为您的代码还有其他问题,主要是您重复加载了同一个图像。相反,您应该只加载一次,然后在一段时间间隔内检查complete
属性。应该可以这样做:
t8e9dugd3#
下面的代码看起来很适合我
基本上,我隐藏了
img
元素,只有在图像加载后才显示它。这里d-none
是定义display:none
的引导类,但是如果你不使用引导,你可以定义自己的类。如果你想保留图片的空间,甚至添加一个默认的背景,你可以使用一个带有
ratio ratio-4x3
的 Package 器div
(用于引导)或其等价的CSS(例如,按宽度比例用height=0
填充wrapper
),并通过css将背景设置为img
。