<script type="text/javascript">
 var  age = 1; 
 var  numberStr ="000000";
 var  number=1;
 var  outnumber=new Array();
 var  stopflag=1; //设置单击停止按钮标示,预防连续两次单击停止按钮!
 var  startflag=0;
 var  filename="D:\\number.bat";
 var  tempStr="";
 var  numberStr1="";
 var  t;
$(document).ready(function(){
      outnumber=readfile(filename);     //初始化从文件中读入数据,防止无意刷新导致数据丢失
      $("#start").click(function(){
        if(startflag==0){
          //alert("dfsdfsd");
          t=setInterval("AddIt()",10);   //函数内部没有用var定义的变量默认为全局变量 所有t 为全局变量
          startflag=1;
        }
        else
        {};
    }); 
      $("#stop").click(function(){
          if(stopflag==0)   displayIt();
          else {};
    });
      $("#restart").click(function(){
        clearfile(filename);           //清除已经选择的数据,进行一次新的操作
        window.location.reload();
    });
});
//作用:检查数字是否已经被选择出来
function check(num){
    var    flag=1;
    for(var i=0;i<=outnumber.length;i++){
        if(num==outnumber[i]) flag=0;
    }
    if(flag) { 
        outnumber.push(num);
        
        return true;
    }
    else return false;
}
function AddIt(){  
        if(outnumber.length==10) 
        {
            alert("所有号码已经选择出来了");
            clearInterval(t);
        }
        else{
         stopflag=0;
         age=10*Math.random();
         number=Math.ceil(age);  //ceil函数向上取余!!
         tempStr=number.toString();
         numberStr1=numberStr.slice(0,6-tempStr.length);
         numberStr1=numberStr1+tempStr;
         $("#yourAge span").html(numberStr1);
        }
}
function displayIt(){
    clearInterval(t);     //清除计时器
    startflag=0;
    while(!check(number)){
        number=10*Math.random();
        number=Math.ceil(age);
    }
     writefile(filename,number);
    // $("#yourAge span").html(age);
     stopflag=1;}
</script>
html代码如下:<div id="yourAge" class="wd">
     <span class="large">000000</span>
</div>
<div style="margin:40px auto 0 auto;width:800px;backgrond-color:red;">
    <input type="button" id="start" value="开始" class="btn" />
    <input type="button" id="stop" value="停止"  class="btn" style="float:right;"/>
</div>
<div style="clear:both">
    <input type="button" id="restart" value="重新开始" class="longbtn" /> 
</div>

解决方案 »

  1.   


     while(!check(number)){
            number=10*Math.random();
            number=Math.ceil(age);//这里错了,不应该是age吧,这样会是死循环,number永远都会有重复的
        }
      

  2.   

    和readfile(filename); 、while有关,读文件速度比较慢
      

  3.   


    while(!check(number)){
            number=10*Math.random();
            number=Math.ceil(age);
        }以前碰到过,我觉得应该出现死循环了,你代码中就这一个while,好好检查下,问题九成九在这里面。
    虽然读写文件会导致速度变慢,但是IE不会出现导致运行速度减慢的提示的。
      

  4.   

    刚碰到一个IE运行速度变慢的问题,一检查,有个循环有问题,所以建议LZ看看是不是同类问题