在使用JavaScript捕获照片之前延迟或显示动画照片计时器
我创建了各种JavaScript函数来从浏览器中捕获照片。使用JavaScript函数,我可以成功地启动相机,拍摄照片并预览,然后上传照片 我正在考虑集成照片定时器功能。在这里,一旦我点击拍照按钮,它将等待3秒(例如),并将显示一个动画计时器(我想加载一个动画gif文件),它将倒计时3到1。一旦倒计时结束,我想调用拍照功能 但我无法将此逻辑集成到我的照片捕获功能中 我的示例代码是:在使用JavaScript捕获照片之前延迟或显示动画照片计时器,javascript,timer,webcam,animated-gif,Javascript,Timer,Webcam,Animated Gif,我创建了各种JavaScript函数来从浏览器中捕获照片。使用JavaScript函数,我可以成功地启动相机,拍摄照片并预览,然后上传照片 我正在考虑集成照片定时器功能。在这里,一旦我点击拍照按钮,它将等待3秒(例如),并将显示一个动画计时器(我想加载一个动画gif文件),它将倒计时3到1。一旦倒计时结束,我想调用拍照功能 但我无法将此逻辑集成到我的照片捕获功能中 我的示例代码是: var cameraEnabled = false; var timer = null; $('#takeBut
var cameraEnabled = false;
var timer = null;
$('#takeButton').click(function(){
if(timer != null)
{
clearTimeout(timer);
timer = null;
}
else
{
if(!cameraEnabled){
return false;
}
timer = window.setTimeout(webcam.show_image(), 3000);
webcam.freeze();
togglePane();
return false;
}
});
show_image:function()
{
var img = document.createElement("img");
img.src = "countdowntimer.gif";
document.body.appendChild(img);
},
我的显示图像功能是:
var cameraEnabled = false;
var timer = null;
$('#takeButton').click(function(){
if(timer != null)
{
clearTimeout(timer);
timer = null;
}
else
{
if(!cameraEnabled){
return false;
}
timer = window.setTimeout(webcam.show_image(), 3000);
webcam.freeze();
togglePane();
return false;
}
});
show_image:function()
{
var img = document.createElement("img");
img.src = "countdowntimer.gif";
document.body.appendChild(img);
},
谁能在这个问题上帮助我
提前感谢您的回复
timer = window.setTimeout(webcam.show_image(), 30000);
当您执行此操作时,实际上是调用webcam.show_image,然后将函数结果传递给setTimeout。要将指针传递给函数,应该执行以下操作
timer = window.setTimeout(webcam.show_image, 30000);
此外,我认为使用动画gif进行文本倒计时不是一个好主意,您可以在一些DIV中操作innerHTML。
最后,30000毫秒是30秒,不是3秒。这可能不是您的问题,但是
setTimeout
将毫秒作为第二个参数。因此,目前它正在等待30秒呼叫网络摄像头。显示图像。另外webcam.show_image()
不应该有括号,我相信它正在立即调用它。嗨,Tommi..谢谢我喜欢代码..但是你能告诉我如何在不使用警报的情况下集成快照功能吗??我的拍摄功能是webcam.freeze();拍摄后,我切换窗格并返回false..例如:togglePane();返回false;然后只需删除警报并粘贴webcam.freeze();切换窗格();这对我来说是一个很好的帮助谢谢Tommi。。计时器逻辑正在出现。。但我仍然有不同的问题,我将要解决。如果我无法修复,我将再次发布其余代码。Tommi..虽然我不确定,但您的代码逻辑中有一个错误!显示警报并关闭警报消息后,当我再次单击按钮时,警报开始计数(-)。如何修复它?我想我必须编写一个函数来重新加载UI?当然,这是一个概念证明,我认为您将研究代码并自己实现它。无论如何,当用户单击按钮时,应该重新初始化计数器变量(timeto=3)。比如说像这样,