Javascript 倒计时计时器未运行
好的,谢谢大家。在我看到评论后,问题就解决了 我的倒计时没有运行Javascript 倒计时计时器未运行,javascript,countdown,Javascript,Countdown,好的,谢谢大家。在我看到评论后,问题就解决了 我的倒计时没有运行 <script type="text/javascript"> function timer(){ var count = document.getElementById("numb").value; var counter=setInterval(timer, 1000); var detik = count; do { count--; document.getElemen
<script type="text/javascript">
function timer(){
var count = document.getElementById("numb").value;
var counter=setInterval(timer, 1000);
var detik = count;
do {
count--;
document.getElementById("timer").innerHTML=count + " secs";
if (count<=0) {
count = detik+1;
}
} while (count===detik+1);
}
</script>
<input type="text" id="numb" name="numb" value=""></input>
<input type="button" value="click" onClick="timer();"/>
<span id="timer"></span>
函数计时器(){
var count=document.getElementById(“numb”).value;
var计数器=设置间隔(计时器,1000);
var detik=计数;
做{
计数--;
document.getElementById(“计时器”).innerHTML=count+secs;
如果(count我这样更改了它,它就可以工作了:
window.timer = function timer() {
var count = document.getElementById("numb").value;
var cTimer = document.getElementById("timer").innerHTML;
if(cTimer && !isNaN(parseInt(cTimer))) cTimer = parseInt(cTimer) - 1;
else cTimer = count;
if(cTimer==0) return;
document.getElementById("timer").innerHTML = cTimer + " secs";
setTimeout(timer, 1000);
}
这就是您的工作。您的计时器功能存在一些逻辑问题。请检查此项
HTML
<input type="text" id="url" name="url" value=""></input>
<input type="button" value="click" onClick="timer();" />
<span id="timer"></span>
<input type="text" id="url" name="url" value="">
<input type="button" value="click" onclick="timer1(1);"/>
<div id="timer"></div>
JavaScript
function timer() {
clearInterval(counter);
var count = parseInt(document.getElementById("url").value);
document.getElementById("timer").innerHTML = count + " secs";
var counter = setInterval(function () {
count = count - 1;
if (count <= 0) {
clearInterval(counter);
return;
}
document.getElementById("timer").innerHTML = count + " secs";
}, 1000);
函数计时器(){
清除间隔(计数器);
var count=parseInt(document.getElementById(“url”).value);
document.getElementById(“计时器”).innerHTML=count+secs;
变量计数器=设置间隔(函数(){
计数=计数-1;
如果(count您的代码中存在逻辑错误
。例如,您输入了5
,然后单击按钮。
count
存储5
,detik
也是如此
在do-while
循环中,计数递减(现在是4
)。然后这将显示在屏幕上。如果不满足条件,则显示。但是do-while
条件也不是真的。因此,它将退出循环
由于函数有setInterval
,所以整个过程会再次重复。总的来说,计数器保持不变
您需要做的是:
HTML:
<input type="text" id="numb" name="numb" value=""></input>
<input type="button" value="click" onClick="start_timer();"/>
<span id="timer"></span>
var count;
var intrv;
function start_timer(){
count = document.getElementById("numb").value;
count = parseInt(count);//convert to int..
intrv = setInterval(timer, 1000);
}
function timer(){
document.getElementById("timer").innerHTML = count + " secs";
count--;
if(count<0)
{
clearInterval(intrv);
}
}
JS:
<input type="text" id="numb" name="numb" value=""></input>
<input type="button" value="click" onClick="start_timer();"/>
<span id="timer"></span>
var count;
var intrv;
function start_timer(){
count = document.getElementById("numb").value;
count = parseInt(count);//convert to int..
intrv = setInterval(timer, 1000);
}
function timer(){
document.getElementById("timer").innerHTML = count + " secs";
count--;
if(count<0)
{
clearInterval(intrv);
}
}
var计数;
var-intrv;
函数启动计时器(){
count=document.getElementById(“numb”).value;
count=parseInt(count);//转换为int。。
intrv=设置间隔(计时器,1000);
}
函数计时器(){
document.getElementById(“计时器”).innerHTML=count+secs;
计数--;
如果(计数JAVASCRIPT
var count = 0;
var inter;
function timer1(flag){
if(flag == 1)
{
count = document.getElementById("url").value;
console.log(count);
flag = 0;
}
count--;
document.getElementById("timer").innerHTML= count + " secs";
if(count<=0){
clearTimeout(inter);
}else{
inter = setTimeout(function(){timer1(0)},1000);
}
}
var计数=0;
var-inter;
功能计时器1(标志){
如果(标志==1)
{
count=document.getElementById(“url”).value;
控制台日志(计数);
flag=0;
}
计数--;
document.getElementById(“计时器”).innerHTML=count+secs;
如果(countRelated:千万不要使用setInterval
每1秒手动从i
中提取1,因为您认为它将精确地每秒钟执行一次,但事实是,它不会。要找到一个好的例子并不难:@user3142044:再次检查我的答案。不,我不是这个意思。该值必须输入Not参数。@user3142044:chec请再说一遍我的答案。