我正在學習JavaScript,並試圖做一個簡單的練習:我有一個文本框,並希望用鍵盤控制它。 我的HTML如下(現在,我只是想1方向)在JS中移動一個元素
const myBox = document.querySelector("h1");
document.addEventListener('keydown', function (event){
if (event.keyCode == '38'){
myBox.style.top -= 5;
console.log("test if it works");
}
});
,我的HTML與控制檯日誌作品
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Tuto</title>
<style>
h1 {
width: 200px;
height: 40px;
border: 5px solid #BADA55;
color: #A28;
margin: 0;
text-align: center;
}
</style>
</head>
<body>
<div><h1>My text</h1></div>
<script type="text/javascript" src="main.js"></script>
</body>
</html>
我的檢查測試。所以事件監聽器呢。 但我的箱子不動。我怎樣才能解決它,爲什麼我使用.style.top不正確?
謝謝
如何在移動框的行之前添加'myBox.style.position =「absolute」;? – geokavel
_「['HTMLElement.style'](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style)屬性用於獲取以及設置**內聯樣式當獲取時,它返回一個CSSStyleDeclaration對象,該對象包含該元素的所有樣式屬性列表,併爲在元素的內聯樣式屬性**中定義的屬性指定值。「_ – Andreas
在這種情況下,將位置設置爲「絕對」會使元素的初始位置變得混亂,我認爲您應該使用'relative'。 –