我正在学习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'。 –