摘要:思路根據(jù)鍵盤(pán)的值來(lái)判斷是鍵盤(pán)上的哪個(gè)鍵通過(guò)定位利用鍵盤(pán)事件改編方塊的和值通過(guò)開(kāi)啟定時(shí)器消除長(zhǎng)按鍵盤(pán)的首次卡頓情況代碼設(shè)置方向變量,后面需要用作判斷設(shè)置移動(dòng)的步進(jìn)開(kāi)啟一個(gè)定時(shí)器根據(jù)方向變量進(jìn)行判斷按下方向鍵時(shí)檢查方向的左上右下用語(yǔ)句來(lái)判斷
思路:
根據(jù)鍵盤(pán)的unicode值來(lái)判斷是鍵盤(pán)上的哪個(gè)鍵
通過(guò)定位利用鍵盤(pán)事件改編方塊的top和left值
通過(guò)開(kāi)啟定時(shí)器消除長(zhǎng)按鍵盤(pán)的首次卡頓情況
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è)置移動(dòng)的步進(jìn) //開(kāi)啟一個(gè)定時(shí)器 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); //按下方向鍵時(shí) document.onkeydown=function(ev){ console.log(ev.keyCode);//檢查方向的unicode //左:37 上:38 右:39 下:40 //用switch語(yǔ)句來(lái)判斷按下了哪個(gè)方向鍵 switch(ev.keyCode){ case 37:toLeft=true;break; case 38:toTop=true;break; case 39:toRight=true;break; case 40:toBottom=true;break; } } //松開(kāi)按鍵時(shí) document.onkeyup=function(ev){ //還原對(duì)應(yīng)松開(kāi)的值 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)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/83353.html
相關(guān)文章
利用鍵盤(pán)事件移動(dòng)小方塊小demo
摘要:思路根據(jù)鍵盤(pán)的值來(lái)判斷是鍵盤(pán)上的哪個(gè)鍵通過(guò)定位利用鍵盤(pán)事件改編方塊的和值通過(guò)開(kāi)啟定時(shí)器消除長(zhǎng)按鍵盤(pán)的首次卡頓情況代碼設(shè)置方向變量,后面需要用作判斷設(shè)置移動(dòng)的步進(jìn)開(kāi)啟一個(gè)定時(shí)器根據(jù)方向變量進(jìn)行判斷按下方向鍵時(shí)檢查方向的左上右下用語(yǔ)句來(lái)判斷 思路: 根據(jù)鍵盤(pán)的unicode值來(lái)判斷是鍵盤(pán)上的哪個(gè)鍵 通過(guò)定位利用鍵盤(pán)事件改編方塊的top和left值 通過(guò)開(kāi)啟定時(shí)器消除長(zhǎng)按鍵盤(pán)的首次卡頓情況...
利用鍵盤(pán)事件移動(dòng)小方塊小demo
摘要:思路根據(jù)鍵盤(pán)的值來(lái)判斷是鍵盤(pán)上的哪個(gè)鍵通過(guò)定位利用鍵盤(pán)事件改編方塊的和值通過(guò)開(kāi)啟定時(shí)器消除長(zhǎng)按鍵盤(pán)的首次卡頓情況代碼設(shè)置方向變量,后面需要用作判斷設(shè)置移動(dòng)的步進(jìn)開(kāi)啟一個(gè)定時(shí)器根據(jù)方向變量進(jìn)行判斷按下方向鍵時(shí)檢查方向的左上右下用語(yǔ)句來(lái)判斷 思路: 根據(jù)鍵盤(pán)的unicode值來(lái)判斷是鍵盤(pán)上的哪個(gè)鍵 通過(guò)定位利用鍵盤(pán)事件改編方塊的top和left值 通過(guò)開(kāi)啟定時(shí)器消除長(zhǎng)按鍵盤(pán)的首次卡頓情況...
原生js練習(xí)題---第五課
摘要:那該如何是好原題給出思路是讓事件負(fù)責(zé)標(biāo)記按鍵就好了,而方向鍵的事件處理使用設(shè)個(gè)周期比較小的定時(shí)器持續(xù)監(jiān)聽(tīng),由于周期小,長(zhǎng)按時(shí)就會(huì)立刻執(zhí)行相應(yīng)的事件處理,效果更加流暢。閃爍實(shí)現(xiàn)效果閃爍簡(jiǎn)單的一個(gè)定時(shí)器應(yīng)用,用或都可以實(shí)現(xiàn)。 0x1模擬select控件 實(shí)現(xiàn)效果:5-01模擬select控件 比較簡(jiǎn)單的點(diǎn)擊事件處理,也就處理點(diǎn)擊選擇框展示菜單、點(diǎn)擊菜單選擇、點(diǎn)擊頁(yè)面任意角落隱藏菜單這三件事...
全新Chrome Devtools Performance使用指南
摘要:分析每一秒的幀是用來(lái)分析動(dòng)畫(huà)的一個(gè)主要性能指標(biāo)。軸代表了調(diào)用棧。在事件長(zhǎng)條的右上角出,如果出現(xiàn)了紅色小三角,說(shuō)明這個(gè)事件是存在問(wèn)題的,需要特別注意。雙擊這個(gè)帶有紅色小三角的的事件。 運(yùn)行時(shí)性能表現(xiàn)(runtime performance)指的是當(dāng)你的頁(yè)面在瀏覽器運(yùn)行時(shí)的性能表現(xiàn),而不是在下載頁(yè)面的時(shí)候的表現(xiàn)。這篇指南將會(huì)告訴你怎么用Chrome DevTools Performance...
發(fā)表評(píng)論
0條評(píng)論
閱讀 1642·2023-04-25 18:19
閱讀 2085·2021-10-26 09:48
閱讀 1092·2021-10-09 09:44
閱讀 1741·2021-09-09 11:35
閱讀 3034·2019-08-30 15:54
閱讀 2031·2019-08-30 11:26
閱讀 2295·2019-08-29 17:06
閱讀 892·2019-08-29 16:38