課程
/前端開發
/JavaScript
/DOM事件探秘
老師在視頻里面設了個flag參數來判斷是第幾次按, 如果不用這個,換成判斷此時定時器是不是在運行,或者是開始按鈕是不是灰色之類的判斷是不是會更簡單啊?
2016-04-02
源自:DOM事件探秘 4-5
正在回答
考慮程序的健壯性應該不能設置flag,要根據定時器是否執行更好,因為可能用戶在用使用鍵盤事件開始,按鈕點擊事件結束時,設置flag就沒有用了
Arafat 提問者
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(); ????????????} ????????} ????} }
這樣么?
都可以....
舉報
DOM事件?本課程會通過實例來給小伙伴們講解如何使用這些事件
1 回答先點擊鼠標開始然后在點回車結束是怎么控制的?
2 回答【BUG疑惑】第一次點擊開始后按回車結束抽獎,之后再用回車觸發抽獎變成了松開結束,而不是單次觸發。
1 回答開始結束按鈕
1 回答if判斷問題
2 回答鼠標點開始能抽獎,點結束沒反映,求大神看一下
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-04-23
考慮程序的健壯性應該不能設置flag,要根據定時器是否執行更好,因為可能用戶在用使用鍵盤事件開始,按鈕點擊事件結束時,設置flag就沒有用了
2016-04-27
這樣么?
2016-04-03
都可以....