标签: popmotion

将Popmotion示例转换为GreenSock

我正在尝试将此Popmotion示例转换为GreenSock.

https://codepen.io/popmotion/pen/xVeWmm

var SELECTOR      = '.box';
var velocityRange = [-1000, 1000];
var maxRotate     = 30;
var smoothing     = 100;

var box = ui.select(SELECTOR, {
    values: {
        x: 0,
        y: 0,
        rotateY: {
            watch: function (actor) {
                return actor.values.x.velocity;
            },
            mapFrom: velocityRange,
            mapTo: [-maxRotate, maxRotate],
            smooth: smoothing
        },
        rotateX: {
            watch: function (actor) {
                return actor.values.y.velocity;
            },
            mapFrom: velocityRange,
            mapTo: [maxRotate, -maxRotate],
            smooth: smoothing
        }
    }
});

var track2D = new ui.Track({
    values: {
        x: {},
        y: …
Run Code Online (Sandbox Code Playgroud)

javascript animation greensock popmotion

7
推荐指数
1
解决办法
513
查看次数

Popmotion轮播修复新版本

https://codepen.io/popmotion/pen/Kyewbv

由于某些原因,此方法不起作用。

https://popmotion.io/pure/如这里提到的

const slider = document.querySelector('.slider');
const sliderX = value(0, styler(slider).set('x'))

listen(slider, 'mousedown touchstart').start(() => {
  pointer({ x: sliderX.get() })
    .pipe(({ x }) => x, clampMovement)
    .start(sliderX);
});

listen(document, 'mouseup touchend').start(() => {
  decay({
    from: sliderX.get(),
    velocity: sliderX.getVelocity()
  }).pipe(clampMovement)
    .start(sliderX);
});
Run Code Online (Sandbox Code Playgroud)

每当我使用它时,夹紧运动都显示为未定义。实际上应该是什么?有什么可能使它起作用吗?

javascript animation slider popmotion

7
推荐指数
1
解决办法
186
查看次数

React-Testing-Library(RTL):使用 React Pose 导致 TypeError 的动画

我有一个带有动画的 React 应用程序,使用 React Pose ( https://popmotion.io/pose/ )。

这工作正常,但是当我为组件编写集成测试时(使用 react-testing-library),测试失败。

我在运行测试时得到的错误是:

Error: Uncaught [TypeError: Cannot read property '1' of null]
          at reportException (/app/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)
          at invokeEventListeners (/app/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:209:9)
          at HTMLUnknownElementImpl._dispatch (/app/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:119:9)
          at HTMLUnknownElementImpl.dispatchEvent (/app/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:82:17)
          at HTMLUnknownElementImpl.dispatchEvent (/app/node_modules/jsdom/lib/jsdom/living/nodes/HTMLElement-impl.js:30:27)
          at HTMLUnknownElement.dispatchEvent (/app/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:157:21)
          at Object.invokeGuardedCallbackDev (/app/node_modules/react-dom/cjs/react-dom.development.js:199:16)
          at invokeGuardedCallback (/app/node_modules/react-dom/cjs/react-dom.development.js:256:31)
          at commitRoot (/app/node_modules/react-dom/cjs/react-dom.development.js:18427:7)
          at completeRoot (/app/node_modules/react-dom/cjs/react-dom.development.js:19884:3) TypeError: Cannot read property '1' of null
          at Object.x (/app/node_modules/popmotion-pose/lib/index.js:526:64)
          at /app/node_modules/popmotion-pose/lib/index.js:593:51
          at Array.forEach (<anonymous>)
          at convertPositionalUnits (/app/node_modules/popmotion-pose/lib/index.js:592:27)
          at transformPose (/app/node_modules/popmotion-pose/lib/index.js:647:20)
          at getParentAnimations (/app/node_modules/pose-core/lib/index.js:113:28)
          at Object.set (/app/node_modules/pose-core/lib/index.js:167:28)
          at /app/node_modules/react-pose/lib/index.js:203:77
          at …
Run Code Online (Sandbox Code Playgroud)

jsdom reactjs popmotion

6
推荐指数
1
解决办法
501
查看次数

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

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

在此处输入图片说明 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>
Run Code Online (Sandbox Code Playgroud)

CSS:

.portal-b {
  background: blue;
  width: 1px;
  height: 100px;
}
Run Code Online (Sandbox Code Playgroud)

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' …
Run Code Online (Sandbox Code Playgroud)

javascript animation keyframe popmotion

4
推荐指数
1
解决办法
327
查看次数