【问题标题】:How to stop (in order to reverse) a fabricjs animation如何停止(以反转)fabricjs 动画
【发布时间】:2013-07-29 19:25:36
【问题描述】:

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

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

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

这将进行动画处理,直到 rect 的 top 值变为 200。有没有办法在此之前停止动画?

【问题讨论】:

    标签: javascript animation fabricjs


    【解决方案1】:

    你需要指定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.animate、which I just fixed,所以你需要使用最新版本:)

    【讨论】:

    • 谢谢!最新版本是指从 repo 下载?
    • @MeLight 是的,来自回购
    • 好的,会这样做的:)
    • @kangax 感谢您对我的问题提出意见stackoverflow.com/questions/34283524/…
    • 在官方文档中添加了 abort。 6年后它仍然失踪:D
    猜你喜欢
    • 2013-07-30
    • 1970-01-01
    • 2022-06-13
    • 1970-01-01
    • 2011-09-08
    • 2012-01-29
    • 1970-01-01
    • 2021-04-29
    • 2021-03-30
    相关资源
    最近更新 更多