如何刷新div包含图像而不重新加载页面?

时间:2011-05-19 20:02:24

标签: php javascript html

我有我的研究项目我从触摸板读取x,y并用php绘制它作为实时绘图,我创建绘制页面,取x,y并在图像上绘制,另一页显示此图像(内部DIV) 它必须在第二次显示多次我尝试使用ajax但它不适用于图像,除非我手动刷新页面 然后我用这个 但这种方式是我的主管不能接受的! 我需要任何有用的想法来刷新包含代码中图像的div

3 个答案:

答案 0 :(得分:2)

你需要刷新包含同一图像的div吗?那是因为图像本身发生了变化(每次都是根据要求呈现)? 如果是这样,你的浏览器缓存可能是你的问题。您可以将img src url设置为基本img url并添加一个参数,例如yourimage.jpg?x,其中x是您每次更改的值。这样,你就可以浏览浏览器缓存了。

您不需要Ajax来加载图像。你可以设置img src或div background-image来做到这一点。浏览器会自动加载它。

我怀疑你是否可以一次这么多次这样做。

答案 1 :(得分:1)

听起来你错了路。您应该使用<canvas>元素并直接在客户端浏览器中绘图,而不是通过服务器往返一切。

但是,如果你坚持往返,那么让你的AJAX“将触摸数据发送到服务器”例程等到服务器确认它处理了触摸数据并生成了新图像,然后只需重新加载图像你的客户。

答案 2 :(得分:1)

如果你想多次刷新div,你可以使用基本的js代码...

1次刷新的示例

<html>
<head>
<script type="text/javascript">
function timeMsg()
{
var t=setTimeout("alertMsg()",3000);
}
function alertMsg()
{
alert("Hello");
}
</script>
</head>

<body>
<form>
<input type="button" value="Display alert box in 3 seconds"
onclick="timeMsg()" />
</form>
</body>
</html>

无限循环::::

<html>
<head>
<script type="text/javascript">
var c=0;
var t;
var timer_is_on=0;

function timedCount()
{
document.getElementById('txt').value=c;
c=c+1;
t=setTimeout("timedCount()",1000);
}

function doTimer()
{
if (!timer_is_on)
  {
  timer_is_on=1;
  timedCount();
  }
}
</script>
</head>

<body>
<form>
<input type="button" value="Start count!" onclick="doTimer()">
<input type="text" id="txt" />
</form>
</body>
</html>
相关问题