我是js中的新手并且我创建了简单的倒计时但我想在count = 0的值时停止它 这是我的剧本
var no;
no = 5;
$(document).ready(
function(){
timer();
var t = setInterval(timer, 1000);
var c = setInterval(cek, 1000);
}
);
function timer(){
no--;
$('.timer').html(no);
}
function cek(){
if(no===0){
alert('done');
clearInterval(t);
clearInterval(c);
}
}
这是我的剧本的链接:here
答案 0 :(得分:2)
您可以尝试这样做(只需要一个这样的间隔就可以创建2个异步定时器):
var t;
var no = 5;
$(document).ready(function() {
t = setInterval(function() {
timer();
cek();
}, 1000);
});
function timer() {
no--;
console.log('NO');
$('.timer').html(no);
}
function cek() {
if(no===0) {
alert('done');
clearInterval(t);
}
}
您可以查看小提琴@ http://jsfiddle.net/bG8yr/5/
的更新版本答案 1 :(得分:1)
简单的问题,你的变量是在ready / anonymous函数闭包中定义的。我想说明这不是最好的方法。将来检查小提琴并查找控制台错误。它很容易弄清楚什么是错误的。
var no, t, c, no = 5;
$(document).ready(
function(){
timer();
t = setInterval(timer, 1000);
c = setInterval(cek, 1000);
}
);
function timer(){
no--;
$('.timer').html(no);
}
function cek(){
if(no===0){
alert('done');
clearInterval(t);
clearInterval(c);
}
}
答案 2 :(得分:0)
试试这个:
function timer(){
no--;
if (no >= 0)
$('.timer').html(no);
}
答案 3 :(得分:0)
这将完全符合您的要求:
var no,
t;
no = 5;
$(document).ready(
function () {
t = setInterval(timer, 1000);
}
);
function timer() {
no--;
$('.timer').html(no);
if (no === 0) {
alert('done');
clearInterval(t);
}
}
答案 4 :(得分:0)
这是您需要的javascript代码。只包括一个非常简单的if-else。所有代码都是你的。如果计时器小于0,则添加,而不是其他任何事情。
var no;
no = 5;
$(document).ready(
function(){
timer();
var t = setInterval(timer, 1000);
var c = setInterval(cek, 1000);
}
);
function timer(){
no--;
if(no<0){ //nothing }
else{
$('.timer').html(no);
}
}
function cek(){
if(no===0){
alert('done');
clearInterval(t);
clearInterval(c);
}
}
答案 5 :(得分:0)
以下是答案
var no;
no = 5;
var isRunning=false;
$(document).ready(
function(){ isRunning=true;
timer();
var t = setInterval(timer, 1000);
var c = setInterval(cek, 1000);
}
);
function timer(){
if(isRunning){
no--;
$('.timer').html(no+":"+isRunning);
}
}
function cek(){
if(no===0&&isRunning){
isRunning=false;
alert('done');
clearInterval(t);
clearInterval(c);
}
}