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

键盘事件问题

有没有人遇到过把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);  

}



正在回答

2 回答

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

http://img1.sycdn.imooc.com//58a2badc0001d35b12440687.jpg

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

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

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

点点星光fighting 提问者

我这个运行出来有问题呐,就是会按一下回车就变化一下数组,而不是像点开始以后那种动态变化
2017-01-03 回复 有任何疑惑可以回复我~
#2

emily973 回复 点点星光fighting 提问者

没完全理解的意思
2017-01-04 回复 有任何疑惑可以回复我~
#3

点点星光fighting 提问者 回复 emily973

拿我的代码运行一下就会发现问题了呢
2017-01-04 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
DOM事件探秘
  • 参与学习       99545    人
  • 解答问题       1197    个

DOM事件?本课程会通过实例来给小伙伴们讲解如何使用这些事件

进入课程

键盘事件问题

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