onclick只能写一次,如果需要执行多个处理程序,你需要
onclick="linkclick();StartGame()"
onclick="linkclick();StartGame()"
解决方案 »
- 上传问题 为什么我点击浏览选择图片后 显示文本框的地址簿是相对地址
- jquery form 不执行回调函数,error函数也不执行
- jquery addclass 加不上属性
- 急!JS中 ie和firefox 的object.launchURL()问题
- 请教大家 我想在td中的文本域放入文字,但是td有背景。我把文本域设置成透明的,但是输入文字的时候文字也是透明的。
- 多个父窗口共用一个子窗口(window.open)
- setTimeout为何无法显示过渡效果
- javascript控制图片的长宽大小有很多,可是我如何控制客户上传文件物理大小呢?
- ecma-262问题
- Form下对象的获取???
- ueditor上传图片的问题
- 用JQuery clone 拷贝了一个tr后,怎么把里面的所有元素的id自动加上"_1"
一个元素不要绑定两次onclick阿
可以用js的addEventListener和attachEvent
function a(){
var x=b();
if(x){
c();
}
//preventDefault()
}
类似这样 新增可函数 在这个函数里控制是否调用其他的函数试试
<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=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('5'))-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++;
}
</script>
<script>
//添加COOKIE
function setCookie(name, value, expires, path, domain, secure) {
var curCookie = name + "=" + escape(value) +
((expires) ? "; expires=" + expires.toGMTString() : "") +
((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") +
((secure) ? "; secure" : "")
document.cookie = curCookie
}
//读取COOKIE
function getCookie(name) {
var prefix = name + "="
var cookieStartIndex = document.cookie.indexOf(prefix)
if (cookieStartIndex == -1)
return null
var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length)
if (cookieEndIndex == -1)
cookieEndIndex = document.cookie.length
return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex))
}
function fixDate(date) {
var base = new Date(0)
var skew = base.getTime()
if (skew > 0)
date.setTime(date.getTime() - skew)
} //点击事件
function linkclick(){
var ck=getCookie("testck");
if(ck=="true"){
alert("每天只能抽奖一次!");
}else{
var now = new Date();
fixDate(now);
now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000)
setCookie("testck","true",now);
alert("下次不能再点了");
}
}
</script>
var ck=getCookie("testck");
if(ck=="true"){
alert("每天只能抽奖一次!");
return false;
}else{
var now = new Date();
fixDate(now);
now.setTime(now.getTime() + 24 * 60 * 60 * 1000)
setCookie("testck","true",now);
alert("下次不能再点了");
return true;
}
}