javascript - 使用onmousedown触发简单动画

标签 javascript html

这是一个简单的函数,当按住按钮时,可以在屏幕上从左向右移动元素(图像)。

function moveRight () {
  var element = document.getElementById("dragged");
    var position = document.getElementById("dragged").style.left;
  if (position == 1175)
  {
    return false;
  }
  else
  {
    element.style.left = position + "1px";
    position++;
  }
}

按钮代码:

<button type-"button" onmousedown="moveRight()" onmouseup="returnToCentre()" onclick="returnToCentre()"> Click me!
</button>

图像元素的初始位置:

  left:20px;
  bottom:6px;

当我按住按钮时,它会立即向左移动,释放后它会返回到中心。请告诉我我做错了什么。我希望将左侧位置作为动画从 20px 更改为 1175px,一次一个像素。 注意:JS新手,请简单回答,无需JQuery解决方案。

最佳答案

    if (position == 1175)
    {
       return false;
    }

该代码会被执行吗?查看您的代码,位置的值似乎类似于“1175px”。还有这个呢:

element.style.left = position + "1px";

该语句将把两个字符串连接在一起。因此,如果position的值是一个整数,比如5,element.style.left将为“51px”;我认为可能是某种形式的数据格式不一致导致了您的问题。当您运行代码时,您可以轻松地注销这些值,以查看您得到的结果而不是您期望的结果。

关于javascript - 使用onmousedown触发简单动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38227094/

相关文章:

javascript - 如何在 JavaScript 中使用关键字 "this"进行 DOM 操作

java - 如何将 xml 节点重命名为 html 标签

javascript - jquery load() 特定 div 不起作用

html - 在表格中将文本右对齐

javascript - 如何从外部 .js 文件加载屏幕?

javascript - 导航到不同页面时 Favicon 消失(在 Chrome 中)

javascript - 在新选项卡中运行 Angular 部分

javascript - 使用 JQuery 仅显示小数点后 2 位

html - 如何使 Bootstrap 容器自动调整高度?

javascript - extjs 表单字段宽度不正确