当比较运算符不为真时,为什么警报会跳跃?

时间:2017-04-03 16:52:45

标签: jquery timer popup countdown

我希望当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

1 个答案:

答案 0 :(得分:0)

您需要检查click()处理程序中的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);	
    });     

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

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