javascript - 如何在 JavaScript 中移动带方向的 div?

标签 javascript html css css-animations

我想移动 HMTL 中的一个元素。很简单。问题是元素应该以指定的 Angular 移动,例如 30° deg。我如何在 JavaScript 中(以及使用 CSS 旋转)做到这一点?

谢谢大家的回答。

最佳答案

如果我理解的很好,你可以使用Math.cosMath.sin得到想要的向量的水平和垂直分量,然后增加topleft 属性:

(function() {
  var box = document.getElementById('box'),
      top = 0,
      left = 0,
      angle = 30 * Math.PI / 180, // 30 degrees
      speed = 1,
      deltaX = Math.cos(angle) * speed,
      deltaY = Math.sin(angle) * speed;
  setInterval(function() {
    box.style.top = (top += deltaY) + 'px';
    box.style.left = (left += deltaX) + 'px';
  }, 60);
})();
#box {
  height: 50px;
  width: 50px;
  position: relative;
  background: blue;
}
<div id="box"></div>

关于javascript - 如何在 JavaScript 中移动带方向的 div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30833869/

相关文章:

html - 捕获 div focusout

html - 如何向 CSS 新手解释 "Cascade"?

javascript - 如何使用 instafeed.js 保留我的模板,但提取我的个人提要?

css - CSS响应式布局的方法

javascript - FlotJS 工具提示扰乱了响应能力?

javascript - 等效的 MongoDB 语句?

javascript - 尝试在 IHttpHandler 类中读取我的 http 调用的变量

html - 如何获取替代文本以支持垂直对齐 : middle?

JavaScript 将单击按钮更改为自动

javascript - 带有标签和百分比的 d3 仪表图?