<script type="text/javascript">
window.onload=function()
{
var i=0;
var sNum=5;

setInterval(function(){
if(i==5)
{
i--;
alert(i);
}
else
{
i++;
alert(i);
}
},1000);
};
</script>
我想要的效果是1,2,3,4,5,4,3,2,1这样的效果,但是这写为什么会出去错呢?

解决方案 »

  1.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head><body>
    <script type="text/javascript">
    window.onload=function()
    {
        var i=0;
        var sNum=false;
        
        var setint = setInterval(function(){
                if(i==5 || sNum && i > 0)
                {
    i--;
    if (i == 0) {
    clearInterval(setint)
    }
    else {

    sNum = true;
    alert(i);
    }

                }
                else
                {
                    i++;
                    alert(i);
                }
        },1000);
    };
    </script>
    </body>
    </html>
      

  2.   


    <script>
    {
        var i=0;
        var sNum=5;
        var j=0;
        var si=setInterval(function(){
                if(i<5&&!j)
                {
                    i++;
    alert(i);
    }
                else if(i>0)
                {
        j=1;
                    i--;alert(i);
                }
        },300);
    if(i<=0&&j==1)  clearInterval(si);
    };
    </script>
      

  3.   

    不好意思,有关小错误<script>
    {
        var i=0;
        var sNum=5;
        var j=0;
        var si=setInterval(function(){
                if(i<5&&!j)
                {
                    i++;
    alert(i);
    }
                else if(i>1)
                {
        j=1;
                    i--;alert(i);
                }
        },300);
    if(i<=0&&j==1)  clearInterval(si);
    };
    </script>
      

  4.   

    你的代码:4 => i++ =>5 =>i-- =>4 => 
    无限循环下去