javascript - 沿固定 Angular 圆形路径移动 div

标签 javascript jquery html css

我想知道是否可以沿固定 Angular 圆形路径移动 div。例如。移动 div 仅 45 度的圆形路径,然后使其回到起点,类似于钟摆的效果。

希望所附图片能理解我的意思。

非常感谢所有帮助。 期待,

enter image description here

最佳答案

根据您更新后的要求(旋转时对象本身应始终垂直),我修改了之前的代码。

可能还有另一种方法,但我现在只能想到这个。在这里,我将我们原来的“球”元素包装在另一个 div 中。现在,外部 div 执行正常的钟摆动画。但是,除此之外,内部对象还执行反向旋转动画,使其在动画期间的所有点都保持垂直。

请注意,内部对象的默认变换原点为 center center,因为它只需要绕自己的轴旋转。

#container
{
  background-color: #777;
  border-radius: 50%;
  height: 20px;
  margin: 0 auto;
  margin-top: 150px;
  position: relative;
  width: 20px;
}

#ball
{
  animation: swing 1s ease 0s infinite;
  background-color: green;
  height: 50px;
  left: -15px;
  position: absolute;
  top: -150px;
  transform-origin: center 150px;
  width: 50px;
}

@keyframes swing{
  0%{transform: rotate(-22.5deg);}
  50%{transform: rotate(22.5deg);}
  100%{transform: rotate(-22.5deg);}
}

#main-content
{
  animation: innerswing 1s ease 0s infinite;
  background-color: red;
  display: block;
  height: 100%;
  width: 100%;
}

@keyframes innerswing{
  0%{transform: rotate(22.5deg);}
  50%{transform: rotate(-22.5deg);}
  100%{transform: rotate(22.5deg);}
}
<div id="container">
  <div id="ball">
    <div id="main-content"></div>
  </div>
</div>

关于javascript - 沿固定 Angular 圆形路径移动 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44131023/

相关文章:

jquery - 延迟 html 表单提交,直到 div 动画完成

javascript - 同位素更新到 V2,如何切换大小和布局

javascript - 是否可以使用 CSS HTML 和 JavaScript 在 B 上执行 A,在 C 上执行 B,在 A 上执行 C?

javascript - float 条形图数据转换

javascript - 浏览器 GET 请求返回旧图像

html - svg 背景大小(以像素为单位)在 Windows 10 Chrome 上显示错误

javascript - 使用纯 JavaScript 阅读更多链接

php - 在 'onexit' 或 'onsubmit 之后,查询 mysql 并填充表单字段,而不离开页面 php js

javascript - 如何通过 JQuery 触发 JS native 甚至 addEventListener ("change",函数)

javascript - AngularJS 窗口滚动事件不会触发