javascript - 如何停止(为了反转)fabricjs 动画

标签 javascript animation fabricjs

我想创建一个鼠标滚动效果,就像我们以前在 flash 网站上看到的那样 - 当鼠标在一个元素上滚动时它开始动画,但如果在动画中间鼠标滚出动画将停止并且跑回去。

我想用 fabric 达到同样的效果,但我似乎可以找到停止动画的方法。例如:

rect.animate('top', '200', {
    duration: 1000,
    onChange: canvas.renderAll.bind(canvas),
    onComplete: function() {
      //callback code goes here
    }
  });

这将动画化,直到 recttop 值变为 200。有没有办法在那之前停止动画?

最佳答案

您需要指定abort 函数。

rect.animate('top', '200', {
    duration: 1000,
    onChange: canvas.renderAll.bind(canvas),
    onComplete: function() {
      //callback code goes here
    },
    abort: function(){
      return someConditionWhichAbortsAnimationWhenItsTrue;
    }
});

唯一的问题是 abort 没有传递到底层 fabric.util.animatewhich I just fixed , 所以你需要使用最新版本:)

关于javascript - 如何停止(为了反转)fabricjs 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17933633/

相关文章:

javascript - 从对象数组中删除重复项

jquery - 使用 JQuery 向下滑动隐藏文本

javascript - iOS 8;从 javascript 打开 native 应用程序

javascript - Imacros 获取下拉列表中的选项数量

javascript - mixitup 根据 mixEnd 后的过滤器选择显示 div

javascript - 织物 js 动画。单击时有效,但只有一次。每次点击后如何让它工作?

javascript - 如何在fabricjs中将圆形/矩形的大小限制为某个半径/宽度/高度?

机器人 : GIF animation cycle complete Listener

Android TextView 数字动画

javascript - 使用fabric.js框架绘制多边形