问答详情
源自:4-5 [DOM事件] 抽奖系统(下)

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

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

提问者:Arafat 2016-04-02 23:38

个回答

  • 雨非0
    2016-04-23 10:35:56
    已采纳

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

  • C是什么
    2016-04-27 16:58:50

    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();
                }
            }
    
        }
    
    
    }

    这样么?

  • weibo_方便面不都是碎的么_0
    2016-04-03 21:04:39

    都可以....