Inter2 Inter3都是在函数内部声明,是局部变量,cl是没法访问的----你可以先把它们声明为全局变量,然后在Inter1中赋值。

解决方案 »

  1.   

    把Inter1、Inter2、Inter3 都定义在最顶层,不要定义在函数内部。
    或者去掉前面的var 使其成为全局变量
      

  2.   

    试过全局变量和数组变量,都不行啊
    <script>
    var Inter1='';
    var Inter2='';
    var Inter3='';
    Inter1 = setInterval(function() {
    document.getElementById("a").innerHTML = 'a';
    Inter2 = setInterval(function() {
    document.getElementById("a").innerHTML = 'bb';
    Inter3 = setInterval(function() {
    document.getElementById("a").innerHTML = 'ccc';
    }, 1100);
    }, 800);
    }, 500);
    function cl() {
    document.getElementById("a").innerHTML = 'dddd';
    clearInterval(Inter1);
    clearInterval(Inter2);
    clearInterval(Inter3);
    }
    </script>
    <body>
    <button onclick="cl()">
    cl
    </button>
    <div id="a"></div>
    </body><script>
    var InterArr = [];
    InterArr[0] = setInterval(function() {
    document.getElementById("a").innerHTML = 'a';
    InterArr[1] = setInterval(function() {
    document.getElementById("a").innerHTML = 'bb';
    InterArr[2] = setInterval(function() {
    document.getElementById("a").innerHTML = 'ccc';
    }, 1100);
    }, 800);
    }, 500);
    function cl() {
    document.getElementById("a").innerHTML = 'dddd';
    clearInterval(InterArr[0]);
    clearInterval(InterArr[1]);
    clearInterval(InterArr[2]);
    }
    </script>
    <body>
    <button onclick="cl()">
    cl
    </button>
    <div id="a"></div>
    </body>
      

  3.   


    好像是因为多次赋值的原因var count = 0;
        Inter1 = setInterval(function () {
            document.getElementById("a").innerHTML = ++count;
            },1000);
        Inter1 = setInterval(function () {
            document.getElementById("a").innerHTML = ++count;
        }, 1000);
        clearInterval(Inter1);这段代码,你会发现只能停下来一个,还有个还是在继续循环
      

  4.   

    这样看就清楚一点
    var Inter1='';
        var Inter2='';
        var Inter3='';
        
        function fnA(){
         document.getElementById("a").innerHTML = 'a';
            Inter2 = setInterval(fnB, 800);
        }
        
        function fnB(){
         document.getElementById("a").innerHTML = 'bb';
            Inter3 = setInterval(fnC, 1100);
        }
        function fnC(){
         document.getElementById("a").innerHTML = 'ccc';
        }
        
        Inter1 = setInterval(fnA, 500);
      

  5.   

    要玩就要这样玩
     <button id='cb'>
            cl
        </button>
        <div id="a"></div> <script>
    var Inter1='';
        var flaga = 1;
        var flagb = 1;
        var flagc= 1;
        
        function fnA(){
         document.getElementById("a").innerHTML = 'a';
         if(flaga){
         var Inter2 = setInterval(fnB, 800);
         }else{    
         clearInterval(Inter2)
         fnB();
         }            
        }
        
        function fnB(){
         document.getElementById("a").innerHTML = 'bb';
         if(flagb){
         var  Inter3 = setInterval(fnC, 1100);
         }else{    
         clearInterval(Inter3)
         fnC();
         }
          
        }
        function fnC(){
         if(flagc){
         document.getElementById("a").innerHTML = 'ccc';
         }else{
         document.getElementById("a").innerHTML = 'dddd';
         }
        
        }
        
        Inter1 = setInterval(fnA, 500);
        function cl() {        
            flaga = 0;
            flagb = 0;
            flagc = 0;
            clearInterval(Inter1);
            fnA();               
        }
        
        document.getElementById('cb').onclick = cl;
        
    </script>
      

  6.   


    <script>
        var Inter = [];
        var Inter1 = setInterval(function() {
            document.getElementById("a").innerHTML = 'a';
            var Inter2 = setInterval(function() {
                document.getElementById("a").innerHTML = 'bb';
                var Inter3 = setInterval(function() {
                    document.getElementById("a").innerHTML = 'ccc';
                }, 1100);
                Inter.push(Inter3);
            }, 800);
            Inter.push(Inter2);
        }, 500);
        Inter.push(Inter1);
        function cl() {
            document.getElementById("a").innerHTML = 'dddd';
            for(var i = 0 ;i < Inter.length ; i++){
                clearInterval(Inter[i]);
            }        
        }
    </script>
    <body>
        <button onclick="cl()">
            cl
        </button>
        <div id="a"></div>
    </body>