关于按钮触发的问题 我要实现的效果:点一下按钮执行两个不同的任务。一个是启动转盘效果,二是调用后台代码判断中奖。流程描述:用JS做了一个抽奖的页面,点下按钮转盘开始走动,但转盘停在那个上面后台代码中是要按照要求判断和选择的。然后输入停止位置及内容,提示中奖内容。现在问题是同一个按钮onclick事件执行页面转盘转动效果JS,就没办法调用后台代码判断中奖和停止了。不知道这样说看的可明白的我意思,分不多,请大家帮帮忙! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个我知道,但第一按钮用了这两个事件就报脚本错误。JS全部内容附上了,帮忙看看,谢谢! /* * 删除左右两端的空格 */ 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=300, //初始速度 Time, //定义对象 arr = GetSide(5,5), //初始化数组 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()*16); //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 && index==parseInt(EndIndex)){ clearInterval(Time); Speed=300; flag=true; //触发结束 Time=setInterval(Star,Speed); } } if(index>=arr.length){ index=0; cycle++; } //结束转动并选中号码 //trim里改成数字就可以减速,变成Endindex的话就没有减速效果了 if(flag==true && index==parseInt(Trim('<%=hjid%>'))-1){ quick=0; clearInterval(Time); } tb.rows[arr[index][0]].cells[arr[index][1]].className="playcurr"; if(index>0) prevIndex=index-1; else{ prevIndex=arr.length-1; } tb.rows[arr[prevIndex][0]].cells[arr[prevIndex][1]].className="playnormal"; index++; quick++; if(flag==true && index==parseInt(Trim('<%=hjid%>'))) { alert("恭喜您获得奖品<%=hjid%>"); } }function btn1_onclick() {} ASP.NET中用Eval()进行判断 用GridView嵌套GridView为什么每一行都出现很大的缝隙 使用ul和li float:left 不能居最左边或居中间 window 2000 组件配置问题 大家来攻击吧 如何获取POST数据后页面返回的HTML代码 请问如何用flash9+fcs(fms)实现在线视频/音频录制? 我的WEB程序运行一段时间就会崩溃,需要重启WEB服务器?有哪些原因阿 求个正则表达式,限定字符个数的! 2005和2003共存的问题 在APP_Code之外的文件夹创建公共类 绑定LI标签列的时候。第一行加载一个样式。
* 删除左右两端的空格
*/
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=300, //初始速度
Time, //定义对象
arr = GetSide(5,5), //初始化数组
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()*16);
//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 && index==parseInt(EndIndex)){
clearInterval(Time);
Speed=300;
flag=true; //触发结束
Time=setInterval(Star,Speed);
}
}
if(index>=arr.length){
index=0;
cycle++;
}
//结束转动并选中号码
//trim里改成数字就可以减速,变成Endindex的话就没有减速效果了
if(flag==true && index==parseInt(Trim('<%=hjid%>'))-1){
quick=0;
clearInterval(Time);
}
tb.rows[arr[index][0]].cells[arr[index][1]].className="playcurr";
if(index>0)
prevIndex=index-1;
else{
prevIndex=arr.length-1;
}
tb.rows[arr[prevIndex][0]].cells[arr[prevIndex][1]].className="playnormal";
index++;
quick++;
if(flag==true && index==parseInt(Trim('<%=hjid%>')))
{
alert("恭喜您获得奖品<%=hjid%>");
}
}
function btn1_onclick() {}