每隔一段时间刷新img

时间:2012-05-25 10:50:18

标签: javascript jquery ajax

我的jsp文件中有以下div

<div id="myDiv">
    <img alt="" src="http://localhost:8080/chartDemo/servlet/ChartDemoServlet">
</div>

我想以某个间隔自动刷新图像。

我尝试使用<meta http-equiv="Refresh">它完美无缺,但刷新了整个页面。

如何仅刷新图像?

5 个答案:

答案 0 :(得分:4)

  

我想在某个时间间隔自动刷新该div。

用什么内容?或者img每次都会改变吗?

如果是这样的话:

setInterval(function() {
    $("#myDiv").html('<img alt="" src="http://localhost:8080/chartDemo/servlet/ChartDemoServlet">');
}, 1000);

...如果img的{​​{1}}网址返回的数据的缓存标头正确,则应该每秒一次(1000毫秒= 1秒),否则,浏览器可以缓存早期版本)。这样做是完全拆除src的内容,然后为其分配给定的标记,这应该重新创建div元素并导致重新获取(再次,如果标题是正确的)。

答案 1 :(得分:3)

setInterval(function() {
  // use to prevent browser cache
  var d = new Date();
  $("#myDiv img").attr("src", "http://localhost:8080/chartDemo/servlet/ChartDemoServlet?"+d.getTime());
}, 3000); // every 3 seconds.

答案 2 :(得分:0)

您需要使用window.setInterval计时器。在该函数中,您可以更改img src。 像这样的东西

//timer function
window.setInterval(refreshImage,1000);

function refreshImage()
{
     $('#urdiveid img').attr('src')='new location';
}

答案 3 :(得分:0)

<div id="myDiv" onload="JavaScript:timedRefresh(5000);">
        <img alt=""
            src="http://localhost:8080/chartDemo/servlet/ChartDemoServlet">
    </div>

把它放在javascript中

function timedRefresh(timeoutPeriod) {
    setTimeout("location.reload(true);",timeoutPeriod);
}

答案 4 :(得分:0)

可以使用JavaScript超时功能

完成
var t=setTimeout("functiontoCall()", 3000)

您可以在FunctiontoCall()中编写自己的内容,以加载myDiv中的内容。它可以是ajax调用或简单的Dom操作