使用js+css+html实现,switch判断按键移动div效果
时间: 2024-02-03 10:01:59 浏览: 105
js+html+css实现鼠标移动div实例
好的,以下是一个使用 JS + CSS + HTML 实现按键移动 DIV 的示例代码。代码中使用了 `switch` 结构来判断按下的键位,并根据不同的键位实现 DIV 的移动效果。
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>按键移动 DIV</title>
<style>
#box {
width: 100px;
height: 100px;
background-color: #f00;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
</style>
</head>
<body>
<div id="box"></div>
<script>
var box = document.getElementById("box");
document.addEventListener("keydown", function(event) {
switch (event.keyCode) {
case 37: // 左箭头
box.style.left = parseInt(box.style.left) - 10 + "px";
break;
case 38: // 上箭头
box.style.top = parseInt(box.style.top) - 10 + "px";
break;
case 39: // 右箭头
box.style.left = parseInt(box.style.left) + 10 + "px";
break;
case 40: // 下箭头
box.style.top = parseInt(box.style.top) + 10 + "px";
break;
}
});
</script>
</body>
</html>
```
在这个示例中,我们首先定义了一个 ID 为 `box` 的 DIV 元素,并使用 CSS 设置其样式,使其在页面中水平垂直居中。
然后,我们通过 JS 获取这个 DIV 元素,并使用 `addEventListener` 方法监听 `keydown` 事件。当用户按下键盘上的箭头键时,JS 会根据按下的键位执行不同的操作,来实现 DIV 的移动效果。
需要注意的是,在这个示例中,我们使用了 `parseInt` 方法将 DIV 元素的 `top` 和 `left` 属性转换为整数类型,以便在移动时进行加减运算。同时,我们还使用了 `transform: translate(-50%, -50%)` 属性来使 DIV 元素在其父级容器中水平垂直居中,这样在移动时才能准确地计算其位置。
阅读全文