日期:2014-05-16  浏览次数:20814 次

UpdatePanel控件中的js为什么不执行?
写了抽奖的程序,网上下载的转盘抽奖js,测试一切正常,唯一不足是点击按钮抽奖会刷新页面,然后使用了UpdatePanel控件,页面是不刷新了,但抽奖js不执行了,这个为什么?或者如果有高手能提供其他解决之道也可以,不胜感激!!!

下面为转盘抽奖js,也就是在UpdatePanel控件不执行的代码.

<script type="text/javascript">
function Trim(str){
 return str.replace(/(^\s*)|(\s*$)/g, ""); 
}
 
/*
 * 定义数组
 */
function GetSide(m,n){
//初始化数组
var arr = [];
for(var i=0;i<m;i++){
arr.push([]);
for(var j=0;j<n;j++){
arr[i][j]=i*n+j;
}
}
//获取数组最外圈
var resultArr=[];
var tempX=0,
 tempY=0,
 direction="Along",
 count=0;
while(tempX>=0 && tempX<n && tempY>=0 && tempY<m && count<m*n)
{
count++;
resultArr.push([tempY,tempX]);
if(direction=="Along"){
if(tempX==n-1)
tempY++;
else
tempX++;
if(tempX==n-1&&tempY==m-1)
direction="Inverse"
}
else{
if(tempX==0)
tempY--;
else
tempX--;
if(tempX==0&&tempY==0)
break;
}
}
return resultArr;
}

   var index=0,           //当前亮区位置
   prevIndex=0,          //前一位置
   Speed=100,           //初始速度
   Time,            //定义对象
   arr = GetSide(3,3),         //初始化数组
 EndIndex=0,           //决定在哪一格变慢
 tb = document.getElementById("tb"),     //获取tb对象 
 cycle=0,           //转动圈数   
 EndCycle=0,           //计算圈数
flag=false,           //结束转动标志 
quick=0;           //加速
btn = document.getElementById("btn1")

function StartGame(){
 clearInterval(Time);
 cycle=0;
 flag=false;
 EndIndex=Math.floor(Math.random()*8);
 //EndCycle=Math.floor(Math.random()*4);
 EndCycle=1;
 Time = setInterval(Star,Speed);
}

function Star(num){
//跑马灯变速
if(flag==false){
  //走五格开始加速
 if(quick==5){
 clearInterval(Time);
 Speed=50;
 Time=setInterval(Star,Speed);
 }
 //跑N圈减速
 if(cycle==EndCycle+1)
 {
 clearInterval(Time);
 Speed=100;
 flag=true;       //触发结束  
 Time=setInterval(Star,Speed);
 }
}

if(index>=arr.length){
index=0;
cycle++;
}

   //结束转动并选中号码
   //trim里改成数字就可以减速,变成Endindex的话就没有减速效果了
 if(flag==true && index==parseInt(Trim('8'))-1){ 
  quick=0;
  clearInterval(Time);
}
tb.rows[arr[index][0]].cells[arr[index][1]].className="playcurr";
if(index>0)
{prevI