我有一个问题是“不断刷新”每隔1秒从相机中捕获的照片。现在,图片只会变为相机拍摄的最后一张照片。 任何想法如何使这项工作????
function reflashIPCam(){
newImage = new Image();
newImage.src = "image taken from the camera" + new Date().getTime();
document.getElementById("IPCamIMG").src = newImage.src;
}
function playIPCamLoop(){
for (var i=0;i<5;i++){
delayFunction();
}
}
function delayFunction(){
setTimeout(reflashIPCam, 1000);
}
答案 0 :(得分:1)
为了完成计时,我认为最简单的重复方法是使用setInterval
intervalRef = setInterval(reflashIPCam, 1000);
如果你想在5秒后停止它:
setTimeout("clearInterval(intervalRef)", 5000);
要从相机获取数据,请参阅access-from-the-browser-to-camera
答案 1 :(得分:0)
写作时
delayFunction() {
setTimeout(reflashIPCam, 1000);
}
您从执行reflashIPCam
开始编程delayFunction
函数调用1000毫秒。
由于循环是瞬时的,这意味着您同时编程所有呼叫。所以当然你只能看到最后一次执行。
你可以这样解决:
function playIPCamLoop(){
for (var i=0;i<5;i++){
delayFunction(i+1);
}
}
function delayFunction(i){
setTimeout(reflashIPCam, i*1000);
}