<script language="javascript" type="text/javascript"> var strstr= "<%=stock01 %>";
 var arr=new Array
 arr=strstr.split(",");function test()
{
     for(i=0;i<arr.length-1;i++)
     {
            if(arr[i]<1000)
            {
                 document.getElementById("arr[i]").value=parseInt(document.getElementById("arr[i]").value)+1;
                 setTimeout('test()',3600000/1000);
             }
     }
}</script >
请问大侠哪里有错1. arr[i]在IF里输不出来;2. document.getElementById("arr[i]").value=parseInt(document.getElementById("arr[i]").value)+1;
   setTimeout('test()',3600000/1000);  这效果如何实现,并把结果输出来.
谢谢.
 

解决方案 »

  1.   

    1,定义数组的语法:
    var arr = new Array() ; //注意括号!
    var arr = [] ;  //也可以用这种方式,更简洁。2,使用setTimeout对象建议用如下方式:
    setTimeout(function(){
       test();  //注意作用域。
    },360000/1000);3,我不知道你是不是要遍历整个数组,给你个通用的写法:
    for(var i=0,j=arr.length;i<j;i++){
       //这里做你的循环操作
    }
    arr.length只被读取一次,会增加少许效率。
      

  2.   

    function test() 

                
    for(var i=0;i<5;i++){
      var num=parseInt(document.getElementById("stock"+i).value)+1;
                document.getElementById("stock"+i).value=num; 
    }
    setTimeout(test,1000); 
                  
         
    } </script>  </HEAD><BODY onload="test()">
    股票000  <input type="text" id="stock0" value="10">
    股票001  <input type="text" id="stock1" value="20">
    股票002  <input type="text" id="stock2" value="30">
    股票003  <input type="text" id="stock3" value="40">
    股票004  <input type="text" id="stock4" value="50">
     </BODY>
      

  3.   


    document.getElementById("arr[i]").value=parseInt(document.getElementById("arr[i]").value)+1;不知道你的项目名字怎么起的,是不是应该写成document.getElementById("arr[" + i + "]")。