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

键盘事件问题

有没有人遇到过把flag写到playfun和stopfun里面,第一次点开始,然后用回车停止,然后再用回车开始就变成按一下变化一下,按一下变化一下了?

附代码:

var timer = null;

var flag =0;

window.onload = function(){

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

        end=document.getElementById('stop');

    start.onclick = funPlay;

    end.onclick =funStop;

    document.onkeyup=function(event){

        event =event || window.event;

        if(event.keyCode ==13){

            if(flag == 0){

                funPlay();

            }else{

                funStop();

            }

        }

        

    }

    

}

function funPlay(){

    var start = document.getElementById('play');

    clearInterval(timer);

    timer = setInterval(function(){

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

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

        title.innerHTML = data[index];

    },50)

    start.style.background='#ccc';

    flag = 1;

    console.log("playing",flag);

   

}

function funStop(){

    clearInterval(timer);

    var start = document.getElementById('play');

    start.style.background='deepskyblue';

   flag = 0;

   console.log("stoping",flag);  

}



提问者:点点星光fighting 2016-12-30 19:34

个回答

  • 慕粉3951534
    2017-02-14 16:08:11

    看你的代码没看出问题,拷了你的代码实测,运行无误,不知道你说的问题是什么,能否补充说明一下,下面是用你的代码实测截图

    http://img.mukewang.com/58a2badc0001d35b12440687.jpg

  • emily973
    2017-01-03 15:44:42

    老师想要传达的意思就是这样啊,先给flag赋值为0,然后按下回车键就把flag赋值为1,再按下就赋值为0,因为是共用一个键控制开始和停止的,这样写可以方便判断按下第几次