摘要:思路根據(jù)鍵盤的值來判斷是鍵盤上的哪個鍵通過定位利用鍵盤事件改編方塊的和值通過開啟定時器消除長按鍵盤的首次卡頓情況代碼設(shè)置方向變量,后面需要用作判斷設(shè)置移動的步進(jìn)開啟一個定時器根據(jù)方向變量進(jìn)行判斷按下方向鍵時檢查方向的左上右下用語句來判斷
思路:
根據(jù)鍵盤的unicode值來判斷是鍵盤上的哪個鍵
通過定位利用鍵盤事件改編方塊的top和left值
通過開啟定時器消除長按鍵盤的首次卡頓情況
htmlcssdiv{ width:100px; height:100px; position:absolute; background:red; }js代碼window.onload=function(){ var div=document.querySelector("div"); var toLeft=toRight=toTop=toBottom=false;//設(shè)置方向變量,后面需要用作判斷 var step=5;//設(shè)置移動的步進(jìn) //開啟一個定時器 var timer=setInterval(function(){ //根據(jù)方向變量進(jìn)行判斷 if(toLeft){ div.style.left=div.offsetLeft-step+"px"; } if(toRight){ div.style.left=div.offsetLeft+step+"px"; } if(toTop){ div.style.top=div.offsetTop-step+"px"; } if(toBottom){ div.style.top=div.offsetTop+step+"px"; } },30); //按下方向鍵時 document.onkeydown=function(ev){ console.log(ev.keyCode);//檢查方向的unicode //左:37 上:38 右:39 下:40 //用switch語句來判斷按下了哪個方向鍵 switch(ev.keyCode){ case 37:toLeft=true;break; case 38:toTop=true;break; case 39:toRight=true;break; case 40:toBottom=true;break; } } //松開按鍵時 document.onkeyup=function(ev){ //還原對應(yīng)松開的值 switch(ev.keyCode){ case 37:toLeft=false;break; case 38:toTop=false;break; case 39:toRight=false;break; case 40:toBottom=false;break; } } }文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/112105.html
相關(guān)文章
利用鍵盤事件移動小方塊小demo
摘要:思路根據(jù)鍵盤的值來判斷是鍵盤上的哪個鍵通過定位利用鍵盤事件改編方塊的和值通過開啟定時器消除長按鍵盤的首次卡頓情況代碼設(shè)置方向變量,后面需要用作判斷設(shè)置移動的步進(jìn)開啟一個定時器根據(jù)方向變量進(jìn)行判斷按下方向鍵時檢查方向的左上右下用語句來判斷 思路: 根據(jù)鍵盤的unicode值來判斷是鍵盤上的哪個鍵 通過定位利用鍵盤事件改編方塊的top和left值 通過開啟定時器消除長按鍵盤的首次卡頓情況...
利用鍵盤事件移動小方塊小demo
摘要:思路根據(jù)鍵盤的值來判斷是鍵盤上的哪個鍵通過定位利用鍵盤事件改編方塊的和值通過開啟定時器消除長按鍵盤的首次卡頓情況代碼設(shè)置方向變量,后面需要用作判斷設(shè)置移動的步進(jìn)開啟一個定時器根據(jù)方向變量進(jìn)行判斷按下方向鍵時檢查方向的左上右下用語句來判斷 思路: 根據(jù)鍵盤的unicode值來判斷是鍵盤上的哪個鍵 通過定位利用鍵盤事件改編方塊的top和left值 通過開啟定時器消除長按鍵盤的首次卡頓情況...
原生js練習(xí)題---第五課
摘要:那該如何是好原題給出思路是讓事件負(fù)責(zé)標(biāo)記按鍵就好了,而方向鍵的事件處理使用設(shè)個周期比較小的定時器持續(xù)監(jiān)聽,由于周期小,長按時就會立刻執(zhí)行相應(yīng)的事件處理,效果更加流暢。閃爍實(shí)現(xiàn)效果閃爍簡單的一個定時器應(yīng)用,用或都可以實(shí)現(xiàn)。 0x1模擬select控件 實(shí)現(xiàn)效果:5-01模擬select控件 比較簡單的點(diǎn)擊事件處理,也就處理點(diǎn)擊選擇框展示菜單、點(diǎn)擊菜單選擇、點(diǎn)擊頁面任意角落隱藏菜單這三件事...
全新Chrome Devtools Performance使用指南
摘要:分析每一秒的幀是用來分析動畫的一個主要性能指標(biāo)。軸代表了調(diào)用棧。在事件長條的右上角出,如果出現(xiàn)了紅色小三角,說明這個事件是存在問題的,需要特別注意。雙擊這個帶有紅色小三角的的事件。 運(yùn)行時性能表現(xiàn)(runtime performance)指的是當(dāng)你的頁面在瀏覽器運(yùn)行時的性能表現(xiàn),而不是在下載頁面的時候的表現(xiàn)。這篇指南將會告訴你怎么用Chrome DevTools Performance...
發(fā)表評論
0條評論
閱讀 2994·2021-11-23 09:51
閱讀 3616·2021-10-13 09:39
閱讀 2503·2021-09-22 15:06
閱讀 886·2019-08-30 15:55
閱讀 3153·2019-08-30 15:44
閱讀 1783·2019-08-30 14:05
閱讀 3438·2019-08-29 15:24
閱讀 2369·2019-08-29 12:44