如何在不重新闪烁的情况下刷新图像?

时间:2014-06-08 03:49:20

标签: html image

好的,我将是彻头彻尾的。我从未接触过HTML,可能会令人讨厌。但我理解lua和简单的编码原则。有了这个说我会继续我的问题。

我为我的我的Minecraft服务器制作了一个状态检查器,并使用该图像制作了一个桌面小工具我希望闪烁在刷新时停止。我使用了其他来源并应用它们。

<html>
<head>
    <title>War Server</title>
    <style>
        body{width:560;height:95}
    </style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
//<![CDATA[
window.onload = function() {
    img = document.getElementById('refreshImage');
    img.src += "?";
    setInterval("img.src=img.src.replace(/\\?[0-9]*/, '?'+Math.floor(Math.random()*9999999+1));", 5000);

}
//]]>
</script>
</head>

<body>
<img id="refreshImage" src="Status.png" alt="Server Banner" style="position:absolute;top:0;left:0;border:0;width:560px;height:95" />
</body> <!--I didn't put the actual link for privacy.-->
</html>

我的想法:

可能有一个正确的方法,但我想我可以贡献一些东西。我以为我可以拥有相同图像的背景,但它会在图像之前更新。因此,背景会改变,然后图像会画,背景会闪烁(这就是闪烁总是如此),但这很重要,因为当它发生变化并闪现时,图像就会覆盖它。

1 个答案:

答案 0 :(得分:0)

正确的解决方案不会是html或css,因为你已经在使用它了javascript / jquery。您需要使用if和else语句。

if(i==1) { 
    return; //stop the execution of function
}
else {

   //keep on going
}

我可以提供进一步的建议,但是你需要更好地澄清你的问题。在页面加载完成之前,您是否希望图片闪烁?您使用了更新这个词,等待更新的内容是什么?如果您是,那么。

if(document.readyState ===“complete”)将是你的论点......

<html>
<head>
    <title>War Server</title>
    <style>
        body{width:560;height:95}
    </style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
//<![CDATA[
img = document.getElementById('refreshImage');

if (document.readyState === "complete") { 
img.src = "Status.png";
return; //stop the execution of function
}

else {
//keep on going
img.src += "?";
setInterval("img.src=img.src.replace(/\\?[0-9]*/,      '?'+Math.floor(Math.random()*9999999+1));", 5000);
}
//]]>
</script>
</head>

<body>
<img id="refreshImage" src="Status.png" alt="Server Banner" style="position:absolute;top:0;left:0;border:0;width:560px;height:95" />
</body> <!--I didn't put the actual link for privacy.-->
</html>