亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何解決此 if 語句

如何解決此 if 語句

慕田峪7331174 2022-10-08 14:57:36
我有一個對象,我想在按兩個鍵時對角移動。到目前為止它可以工作,但是在釋放兩個鍵后,如果我只按一個鍵,即's',它會一直沿對角線移動。僅當同時按下兩個鍵時,如何使對象沿對角線移動?let keysPressed = ["d", "s"];const box1 = document.getElementById("box1");var box1x = box1.offsetLeft;var box1y = box1.offsetHeight;document.addEventListener('keydown', (event) => {keysPressed[event.key] = true;if (keysPressed['d'] && event.key == 's') {   box1.style.left = document.getElementById("box1").offsetLeft + 5 + 'px';   box1.style.top = document.getElementById("box1").offsetTop + 5 + 'px';} });
查看完整描述

2 回答

?
POPMUISE

TA貢獻1765條經驗 獲得超5個贊

您應該添加對按鍵事件的處理?,F在 keyPressed 的值永遠不會被清除。



查看完整回答
反對 回復 2022-10-08
?
翻過高山走不出你

TA貢獻1875條經驗 獲得超3個贊

第一次按下后,keysPressed仍保持true前一個鍵的值。因此,在那之后,情況keysPressed['d']總是true會導致您當前的問題。


您應該在回調函數結束時將其更新為 false。


keysPressed[event.key] = true;

// ....

keysPressed[event.key] = false;


查看完整回答
反對 回復 2022-10-08
  • 2 回答
  • 0 關注
  • 89 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號