Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用javascript设置计时器_Javascript - Fatal编程技术网

如何使用javascript设置计时器

如何使用javascript设置计时器,javascript,Javascript,我想通过javascript制作一个计时器。我制作了一个文本框,用户在其中给出值假设为5,我想生成一个javascript计数器,它将根据用户输入计数,并以秒为单位计数。假设用户给出5秒,那么在5秒后,将生成一个警报,提示计数已停止。我想这样做。我该如何做?请给出一些建议 提前感谢此代码将使您的计时器生效。如果用户填写秒数时触发,您应该在上面两行 //THESE 2 LINES ARE FOR IN THE EVENT var count=document.getElementById('Sec

我想通过javascript制作一个计时器。我制作了一个文本框,用户在其中给出值假设为5,我想生成一个javascript计数器,它将根据用户输入计数,并以秒为单位计数。假设用户给出5秒,那么在5秒后,将生成一个警报,提示计数已停止。我想这样做。我该如何做?请给出一些建议


提前感谢

此代码将使您的计时器生效。如果用户填写秒数时触发,您应该在上面两行

//THESE 2 LINES ARE FOR IN THE EVENT
var count=document.getElementById('SecondsInput').value;
var counter=setInterval(timer, 1000); //run it every 1 second



function timer()
{
  count-=1;
  if (count <= 0)
  {
     clearInterval(counter);
     window.alert("done!");
  }

  //Do code for showing the number of seconds here
}
//这两行用于事件中的
var count=document.getElementById('SecondsInput').value;
var计数器=设置间隔(计时器,1000)//每1秒运行一次
函数计时器()
{
计数-=1;
如果(计数
var计数=30;
var counter=setInterval(计时器,1000);//1000将每1秒运行一次
函数计时器()
{
计数=计数-1;
if(count
window.setInterval(函数(){
///每秒钟在这里调用一次函数
var rem=document.getElementById(“id”).value;
如果(rem==0)
警报(“超时”);
rem=rem-1000;
document.getElementById(“hidden_id”).value=rem;//创建时间计数器的隐藏字段
}, 1000);
计数器单位为毫米

您可以这样做:

<input></input><button>start</button>
下面是一个演示:。

尝试setTimeout()函数。 在某个事件上触发javascript函数-例如,文本框的onBlur或单击某个按钮

function waitAndAlert(){

var timeToWait = document.getElementById(the_textbox_id).value;
setTimeout(function(){alert("Thanks for waiting")},timeToWait*1000);

}
setTimeout
setInterval
更具相关性,因为第一个方法只是等待延迟并执行逻辑,而第二个函数用于在周期性间隔上重复逻辑

更新: 要向用户更新进度,您可以使用下面@Prateek或@Kristof Feys建议的方法。但是,下面的示例使用了
setTimeout
setInterval
的组合

<script>
var count;
var countDown;
var intervalHandl;
function startcounting(){
    count = document.getElementById('countlimit').value;
    countDown = parseInt(count);
    var timer = count*1000;
    intervalHandl = setInterval(function(){setCountdown()},1000); //trigger the periodic update
    setTimeout(function(){showMsg()},timer);

}

function setCountdown(){
    var note = document.getElementById('note');
    note.innerHTML="Countdown: "+countDown;
    countDown--;
}

function showMsg(){
    var note = document.getElementById('note');
    clearInterval(intervalHandl); //stops the periodic update before...
    note.innerHTML="Countdown Over!! "; //...informing the user that the countdown is over
}
</script>

var计数;
var倒计时;
var intervalHandl;
函数startcounting(){
count=document.getElementById('countlimit')。值;
倒计时=parseInt(计数);
var定时器=计数*1000;
intervalHandl=setInterval(function(){setCountdown()},1000);//触发定期更新
setTimeout(函数(){showMsg()},计时器);
}
函数setCountdown(){
var note=document.getElementById('note');
note.innerHTML=“倒计时:”+倒计时;
倒计时--;
}
函数showMsg(){
var note=document.getElementById('note');
clearInterval(intervalHandl);//在。。。
note.innerHTML=“倒计时结束!!”;/…通知用户倒计时结束
}

终于开始工作了..谢谢你的建议。还有一件事计时器会显示计数器..例如,如果用户给出5,那么用户会在屏幕上看到一个倒计时,如5 4 3 2 1,然后会显示警报。检查更新。希望这能回答你的其他问题。。
window.setInterval(function(){
  /// call your function here for every second

var rem=document.getElementById("id").value;
if (rem==0)
alert("timeup");
rem=rem-1000;
document.getElementById("hidden_id").value=rem;//create a hidden field of time counter
}, 1000);

<input id="id" type="text" value="">counter_in_millis</input>
<input id="hidden_id" type="hidden" value=""></input>
<input></input><button>start</button>
onload = function () {
    var input = document.getElementsByTagName('input')[0],
        button = document.getElementsByTagName('button')[0];
    button.onclick = function () {
        setTimeout(function () {
            alert('too late...');
        }, input.value * 1000);
    }
};
function waitAndAlert(){

var timeToWait = document.getElementById(the_textbox_id).value;
setTimeout(function(){alert("Thanks for waiting")},timeToWait*1000);

}
<script>
var count;
var countDown;
var intervalHandl;
function startcounting(){
    count = document.getElementById('countlimit').value;
    countDown = parseInt(count);
    var timer = count*1000;
    intervalHandl = setInterval(function(){setCountdown()},1000); //trigger the periodic update
    setTimeout(function(){showMsg()},timer);

}

function setCountdown(){
    var note = document.getElementById('note');
    note.innerHTML="Countdown: "+countDown;
    countDown--;
}

function showMsg(){
    var note = document.getElementById('note');
    clearInterval(intervalHandl); //stops the periodic update before...
    note.innerHTML="Countdown Over!! "; //...informing the user that the countdown is over
}
</script>