页面加载时,调用A方法A方法里调用setInt方法:  this.interval = setInterval("countDown('"+lastTime+"')",1000);这个方法是实现倒计时功能的在setInterval方法中有判断,当倒计时没结束时,调用if方法体,结束以后调用else现在时这样,我在else中,加了取消执行setInterval方法的代码 clearInterval(this.interval);为了测试,取消执行以后,我alert()了一个值,可是明明倒计时结束了,程序进去了else{},可是就是没有停止调用,else{}中alert()方法仍然一直隔一秒弹一次。。怎么回事呢?知道的帮帮我。。谢谢。

解决方案 »

  1.   

    var b = 10, a;var A = function() {
        var me = this;
        this.setInt = function() {
            me.interval = setInterval("countDown('" + b + "')", 1000);
        }
    }
    function countDown() {
        if (b) {
            document.getElementById('test').innerHTML += b + "<br>";
            b--;
        } else {
            document.getElementById('test').innerHTML += "cleared<br>";
            window.clearInterval(a.interval);
        }
    }
    window.onload = function() {
        a = new A();
        a.setInt();
    }
      

  2.   

    把 this.interval 换成全局变量