我的asp页面中有个html标签<img id="img2" onclick="img2_onclick()"... />
1.我想通过这个单击事件img2_onclick()来确定img标签的src属性,
2.在这个img2_onclick()中用setTimeout("img2_onclick()",1000);也就是执行循环调用此函数
3.img标签的src有:1.bmp,2.bmp,3.bmp,......10.bmp
4.我想在img标签中循环显示这些照片,顺序为:1,2,3,......,10;
如果到达第10张照片的话,又循环显示这些照片,顺序为:10,9,8,...,3,2,1
这样来回不停,知道我关闭网页下面是我的js代码,但是不成功:
                var j=0;  
                var i=0;           
                function img2_onclick(img2)
                {
                    if(i<12&&j=0)
                    {
                        i++;
                        switch(i)
                        {
                            case 1:img2.src="image2/0.bmp";break;
                            case 2:img2.src="image2/1.bmp";break;
                            ......
                            default:img2.src="image2/10.bmp";
                        }
                    }
                    if(i==12)
                    {
                        j=1;
                    }
                    if(j==1)
                    {
                        i--;
                        if(i>-1)
                        {
                            switch(i)
                            {
                                case 1:img2.src="image2/0.bmp";break;
                                case 2:img2.src="image2/1.bmp";break;
                                ......
                                default:img2.src="image2/10.bmp";
                            }
                        }
                    }
                    if(i=-1)
                    {
                        j=0;
                    }
                    setTimeout("im2_onclick()",1000);
                }
或许是我写的有问题,如果有更好的方法,请赐教!谢谢!

解决方案 »

  1.   

    setTimeout  定时执行一次
    setInterval 定时重复执行
      

  2.   


    setTimeout("im2_onclick()",1000);
    放到
    function外面
      

  3.   

    同时 当onclick后最好 clear哈
      

  4.   

    function img2_onclick(img2)
    {
        var img = document.getElementById("img2");
        //后面用
         img.src = "";
    ..................
      

  5.   

    放到function外面,不能得到我想要的效果
    我的要求是,只单击一次照片,它就自动的循环显示
      

  6.   

    setTimeout("im2_onclick()",1000);
    换成
    setInterval("im2_onclick()",1000);
      

  7.   


    <img src="images/1.jpg"  onclick="img2_onclick()" id="gallary"/>
    <script type="text/javascript">
    var a=1,range=1;
    function img2_onclick(){
    setInterval(function(){
    document.getElementById('gallary').src="images/"+a+".jpg";
    a += range;
    if(a==10||a==1) range *= -1;   
    },1000)
    }
    </script>
      

  8.   

    这个问题的关键在于:我的if判断语句和switch语句,我不知道有没有错,但是这没能到我想要的效果;所以有谁能给出更优秀的语句呢?
      

  9.   

    还是这位bennman厉害,一句代码中的,谢谢各位了!问题搞定!