2011-05-19 122 views
0

我有我的学习项目我从触摸板读取x,y并将其绘制为实时使用php绘图,我创建绘制页面,将x,y绘制在图像上,另一个页面显示此图像(div内) 它必须在很短的时间内显示我尝试使用ajax,但它不适用于图像,除非我手动刷新页面 然后我使用这个 但这种方式是我的主管不能接受的! 请我需要任何有用的想法来刷新包含图像代码的div如何刷新div包含图片而无需重新加载页面?

+0

你对'尝试使用ajax'做了什么? – Neal 2011-05-19 20:03:51

回答

2

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

您不需要使用Ajax来加载图像。您可以设置img src或div背景图像来完成此操作。浏览器会自动加载它。但我怀疑如果你能做到这么多次,每秒。

+0

thx回复这是什么发生,是啊该div包含相同的图像可以请你解释我该怎么做添加参数? – sara 2011-05-19 22:36:46

+0

顺便说一句,我没有使用ajax,我呼吁以下函数onload: function begin(){ document.getElementById(“img”)。src =“image.png”; setTimeout('begin()',1000); } – sara 2011-05-19 22:41:05

+0

如果你做'document.getElementById('img')。src ='image.jpg?' + imageNum',imageNum变量的值被添加到url中。您可以使imageNum成为初始值为0的全局变量,并在每次更新src属性之前增加其值。 – GolezTrol 2011-05-20 05:25:10

1

听起来像你正在去错误的方式。您应该直接在客户端浏览器中使用<canvas>元素并进行绘图,而不是通过服务器将所有内容往返。

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

+0

同意,虽然SVG的动态生成通常效果更好,尤其是在iPad等低功耗设备上。但是,如果他瞄准的是Android设备,他仍然是SOL。 – 2011-05-19 20:09:49

+0

谢谢,,我不坚持使用这种方式我只是一个初学者在PHP :) – sara 2011-05-19 22:41:29

1

如果你想在div多次刷新,u可以使用基本的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> 
相关问题