慕斯卡9626126
2015-11-02 00:07
var data=['Phone5','Ipad','三星笔记本','佳能相机','惠普打印机','谢谢参与','50元充值卡','1000元超市购物券'],
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;
if(event.keyCode==13){
if(flag==0){
playFun();
}else{
stopFun();
}
}
}
}
function playFun(){
var title=document.getElementById('title');
var play=document.getElementById('play');
flag = 1;
clearInterval(timer);
timer=setInterval(function(){
var random=Math.floor(Math.random()*data.length);
title.innerHTML=data[random];
},50);
play.style.background='#999';
}
function stopFun(){
flag = 0;
clearInterval(timer);
var play=document.getElementById('play');
play.style.background='#036';
}flag应该在函数里设置,否则会有bug,当第一次点击鼠标,必须两次enter才能停止
if(event.keyCode==13){
if(flag==0){
playFun();
}else{
stopFun();
}
判断flag=0,执行函数playFun(),之后应把flag的值定位1,这样当再次按下回车键时,flag=1,执行函数stopFun,此时应重下噢你设置flag=0,这样再次按下回车键时,循环开始!
DOM事件探秘
99528 学习 · 1305 问题
相似问题