首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JavaScript更改元素在键盘按钮上的位置

JavaScript更改元素在键盘按钮上的位置
EN

Stack Overflow用户
提问于 2021-10-17 17:57:59
回答 2查看 451关注 0票数 0

所以我想改变元素的位置,在键盘上按100键。

我的代码:

代码语言:javascript
运行
复制
document.addEventListener("keypress", (event) => {
    var keyName = event.key;
    if (keyName == "s") {
        console.log(keyName);
        document.getElementById("element").style.top + 100;
    };
}, false);
代码语言:javascript
运行
复制
<div id="element">•</div>

代码所做的唯一一件事,就是发送日志到控制台,了解按下的键。

编辑:元素的位置已经是绝对的

代码语言:javascript
运行
复制
position: absolute;
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-10-17 18:14:37

要达到你正在尝试的目的,你必须做以下工作:

  1. 元素必须是position: absoluteposition: relative
  2. style.top properie是一个塞特,所以您必须像style.top = '100px'一样设置它的值。
  3. 顶部值是要在顶部添加100的字符串,需要将其解析为字符串,然后在字符串末尾添加'px‘。

代码语言:javascript
运行
复制
document.addEventListener("keypress", (event) => {
    const elementToMove = document.getElementById("element");
    var keyName = event.key;
    if (keyName == "s") {
        elementToMove.style.top = (parseInt(elementToMove.style.top || 0) + 100)+'px';
    };
}, false);
代码语言:javascript
运行
复制
<div id="element" style="position: absolute;">•</div>

票数 1
EN

Stack Overflow用户

发布于 2021-10-17 18:13:38

顶部CSS属性参与指定定位元素的垂直位置。它对非定位元素没有影响。确保元素的位置(绝对的、相对的、固定的、静态的等等)。

您的代码在这里是错误的:document.getElementById("element").style.top + 100;应该有一个元素的赋值(+100)将不能工作。

如果要添加页边距,请执行以下操作:document.getElementById("element").style.marginTop = "100px";

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69607167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档