2017-04-03 22 views
0

我希望当count = 0时,提醒“是”,当计数!= 0时提醒“否”。所有工作都会发现,直到计数器为0时,警报“是”才能找到,但警报“否”也会跳过。这是为什么?我希望有人能够帮助我正确的代码,感谢和抱歉,我的英语当比较运算符不正确时,为什么警报会跳转?

var i=5; 
    function countDown(i, callback) { 
     callback = callback || function(){}; 
     var int = setInterval(function() { 
      document.getElementById("displayDiv").innerHTML = i; 
      i-- || (clearInterval(int), callback()); 
     }, 1000); 
    } 
    countDown(i, function(){ 
     if($("button").click(function(){ 
           alert('yes'); 
      })); 
    }); 

    if (i > 1){ 
      if($("button").click(function(){ 
           alert('No'); 
      }));  
    }; 
    return; 

代码here

+0

你在做什么?你可以详细说明'if($(“button”)。click(function(){ alert('No'); }))' – Satpal

回答

0

您需要在点击()处理程序中检查contdown。 此时,当计数器达到0时,您正在分配“alert('yes')”处理程序,但“alert('no')”处理程序也被分配,并且从未删除。

这个怎么样:

$(function() { 
 
    var i=5; 
 
    
 
    var int = setInterval(function() { 
 
     document.getElementById("displayDiv").innerHTML = i; 
 
     
 
     if(i === 0){ 
 
      clearInterval(int) 
 
     } 
 
     
 
     i--; 
 
    }, 1000); 
 
    
 
    $("button").click(function(){ 
 
     var text = i > 0 ? 'no' : 'yes'; 
 
     alert(text); \t 
 
    });  
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<span id="displayDiv"></span> 
 
<button>Go</button>

+0

非常感谢,就是我想要的。我改变了一些东西,但对我来说完美无缺。 – Menzezzz

相关问题