为了账号安全,请及时绑定邮箱和手机立即绑定

DOM事件探秘-抽奖系统

var data=['iphone5','Ipad','三星笔记本','佳能相机','惠普打印机','谢谢参与','50元充值券','200元购物券'],

timer=null,

flag=0;

window.onload=function(){

var play = document.getElementById('play'),

   stop = document.getElementById('stop');


   //开始抽奖

   play.onclick=playFun;

   //停止抽奖

   stop.onclick=stopFun;


   //键盘事件

   document.onkeyup=function(event){

    event = event || window.event;

    //打印按键键码的代码:

    //console.log(event.keyCode);

    if(event.keyCode==13){

    if(flag==0){

    playFun();

    flag=1;

    }else{

    stopFun();

    flag=0;

    }


    }

   }

}

function playFun(){

var  title=document.getElementById('title'),

play = document.getElementById('play');

clearInterval(timer);

timer=setInterval(function(){

var random=Math.floor(Math.random()*data.length);

title.innerHTML=data[random];

},50);

play.style.background='#999'

}


function stopFun(){

clearInterval(timer);

var play=document.getElementById("play");

play.style.background='#036'

}

这串代码中,虽然键盘事件用了flag=0或者1来判断抽奖是否开始了,但是鼠标事件里面没有啊。为什么当用鼠标点击开始,按下回车也能结束呢? 

正在回答

3 回答

要按两次回车才能结束。

0 回复 有任何疑惑可以回复我~
#1

阿伊舍999

为啥?这两次咋改呢
2016-03-12 回复 有任何疑惑可以回复我~
#2

盯叮町玎仃 回复 阿伊舍999

在playFun和stopFun里也设flag
2016-06-09 回复 有任何疑惑可以回复我~

第一次按下回车的时候是停止不了的,但是第一次按下回车后就把flag=1了,

所以第二次按下回车就可以停止了

0 回复 有任何疑惑可以回复我~

你应该是要按两次才能停止吧?第一次使得flag=1 然后第二次就因为flag=1而使得你再按次回车就停止了

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

DOM事件探秘-抽奖系统

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信