javascript - 如何使用 popmotion pure 从关键帧旋转、平移和缩放矩形?

标签 javascript animation keyframe popmotion

如何使用 popmotion pure 使最后一个关键帧将我的矩形旋转 35 度 Angular ?

enter image description here
https://codepen.io/matthewharwood/pen/XWmRPaK?editors=1111

HTML:

<div class="flex h-screen w-screen justify-center items-center">
  <div class="portal-b">
    <h1 class="left"></h1>
  </div>
</div>
<button class="trigger fixed z-10 left-0 top-0">
  B replace A
</button>

CSS:
.portal-b {
  background: blue;
  width: 1px;
  height: 100px;
}

JS
const { easing, keyframes, styler } = window.popmotion;
const trigger = document.querySelector('.trigger');
const [_, portalB] = [document.querySelector('.portal-a'), document.querySelector('.portal-b')];
trigger.addEventListener('click', () => {
  const portalS = styler(portalB);
  keyframes({
  values: [
    { translateX: 0, scaleX: 0, rotateZ: 0, transformOrigin: 'left center' },
    { translateX: 200, scaleX: 400, rotateZ: 0, transformOrigin: 'left center' },
    { translateX: 200, scaleX: 400,  rotateZ: 90,  transformOrigin: 'left center' },
  ],
  duration: 3000,
  easings: easing.easeInOut,
}).start(portalS.set)
})

最佳答案

对于此类问题,我建议您在浏览器中单步执行纯 CSS 中的值。我发现以下 CSS 规则提供了您想要的最终状态

.portal-b {
  background: blue;
  width: 1px;
  height: 100px;
  transform: translateX(200px) rotate(-35deg) scaleX(400);
}

然后你所需要的就是让你的关键帧走到那里,明确说明他们期望的值,就像这样
  values: [
    { transform: "translateX(0px) rotate(0deg) scaleX(1)" },
    { transform: "translateX(200px) rotate(0deg) scaleX(400)" },
    { transform: "translateX(200px) rotate(-35deg) scaleX(400)"},
  ],

这是你的笔,我的改动:
https://codepen.io/kcerb/pen/wvKyWLv?editors=1111

关于javascript - 如何使用 popmotion pure 从关键帧旋转、平移和缩放矩形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61472809/

相关文章:

javascript - Ember 绑定(bind)在不需要时触发,在需要时不触发

时间:2019-03-17 标签:c#cultureinfoconvert

iphone - 在 MKMapView 上对 Sprite 进行动画处理

internet-explorer - IE10 中的关键帧动画问题

javascript - Dropdownlist的Onchange事件

javascript - jQuery 正则表达式错误匹配

java - 在 GUI map Java 上平移

css - 在方向更改时禁用 css 动画

css - 是否有一种纯 css 方法可以在悬停时停止动画?

css - 在 CSS 中旋转加载器