当图像名称为 variabel 时,如何仅刷新整个页面的图像?

How to refresh only a image of a whole page, when the imagename is variabel?

这是我正在努力解决的难题:

我有一个包含一定数量图片的网站,我希望每 20 秒刷新一次图片,

这是我目前为此编写的代码:

<IMG src="imgcam/mostasquare_1.jpg" border="1" name="refresh" id="img1">
<IMG src="imgcam/mriehelbypass_1.jpg" border="1" name="refresh" id="img2">

<SCRIPT language="JavaScript" type="text/javascript">
var t = 35 // Interval in Seconds
images = new Array('../imgcam/mostasquare_1.jpg','../imgcam/mriehelbypass_1.jpg'); //URLs of the Images

function Start() {
tmp = new Date();
tmp = "?"+tmp.getTime();
for (i=1;i<image.length;i++){
document.getElementById("img"+i).src = images[i]+tmp;
}
setTimeout("Start()", t*1000)
}
Start();
</SCRIPT>

只有这个效果很好, 但是,这里有问题:

我还想强制浏览器在打开页面时 refresh/download 所有图像。

因此我附加了一个带有随机数(或时间、版本等)的查询字符串。

所以结果是:

<img src="mostasquare_1.jpg80123123" alt="image1" />

但是, 因为我添加了随机数,数组得到了错误的值

我该如何解决这个特定的 "catch22" 问题?

奖励积分:我还想在图像顶部显示一些文字(浮动 css 左右?),显示图像最后一次刷新的时间。

您可以在此处找到使用 jquery 的示例:http://codepen.io/anon/pen/waGbQg

您可以将原始路径保留在数据属性中,并以这种方式从它开始更新 src:

$this.attr("src", $this.attr("data-original-image") + "?" + d.getTime());