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

关于判断回车是结束还是开始的问题!

老师在视频里面设了个flag参数来判断是第几次按, 如果不用这个,换成判断此时定时器是不是在运行,或者是开始按钮是不是灰色之类的判断是不是会更简单啊?

正在回答

3 回答

考虑程序的健壮性应该不能设置flag,要根据定时器是否执行更好,因为可能用户在用使用键盘事件开始,按钮点击事件结束时,设置flag就没有用了

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

Arafat 提问者

非常感谢!
2016-04-27 回复 有任何疑惑可以回复我~
var data=['Phone5','Ipad','三星笔记本','佳能相机','惠普打印机','谢谢参与','50元充值卡','1000元超市购物券'],
    timer = null,
    isRun = false;


window.onload = function(){
    var oTitle = document.getElementById('title'),
        btn_play = document.getElementById('play'),
        btn_stop = document.getElementById('stop');

    btn_play.onclick = playFun;
    btn_stop.onclick = stopFun;
    //开始按钮点击事件
    function playFun(){
        if(!isRun){
            timer = window.setInterval(function(){
            var random = Math.floor(Math.random()*data.length);
            oTitle.innerHTML = data[random];
            isRun = true;
            btn_play.style.background="#ccc";
            btn_stop.style.background='';
          },100);
        }
        

    }
    //停止按钮点击事件
    function stopFun(){
        if(isRun){
            window.clearInterval(timer);
            btn_play.style.background='';
            btn_stop.style.background='#ccc';
            isRun=false;
        }
        alert("你抽中了"+oTitle.innerHTML+"! 恭喜!");

    }
    //按键事件
    document.onkeyup = function(event){
        event =event||window.event;
        //如果符合设定的按键
        if(event.keyCode==13||event.keyCode==32){
            if (isRun) {
                stopFun();
            }else{
                playFun();
            }
        }

    }


}

这样么?

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

都可以....

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

举报

0/150
提交
取消

关于判断回车是结束还是开始的问题!

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