使用onComplete依次执行Fabric.js动画

奥斯丁

我想要的是:

http://jsfiddle.net/gJz6C/3/

但是我希望每个框按顺序弹出而不是一次弹出。我知道fabricjs为此具有onComplete属性。我对javascript不太了解,在这里可以找到一个示例:http : //fabricjs.com/shadows/,对我来说不是那么透明。我以为我有一个聪明的解决方案,那就是拥有一个绘制单个框,然后将其自身称为onComplete的函数,并且如果被调用了10次,它什么也不做。这是代码和结尾处的jsfiddle:

var canvas = new fabric.Canvas('canvas1')

function drawbox(seq) {
    if (seq<11) {
        var rect=new fabric.Rect({
            left: seq*25+25,
            top: 10,
            fill: 'red',
            width: 0,
            height: 0,
        });

        canvas.add(rect)

        rect.animate('width',20, {
            onChange:canvas.renderAll.bind(canvas),
            duration: 1000,
            easing: fabric.util.ease.easeOutElastic,
        });

        rect.animate('height',20, {
            onChange:canvas.renderAll.bind(canvas),
            duration: 1000,
            easing: fabric.util.ease.easeOutElastic,
            onComplete: drawbox(seq+1)
        });
    }
}

drawbox(1)

http://jsfiddle.net/bszM5/2/

正如您从jsfiddle中看到的那样,它仍然可以一次绘制所有框,或者,如果您还在width动画中放置onComplete属性,则基本上会使整个制表过程停顿一秒钟,然后立即绘制它们。我是否误解了onComplete的用法?

柳比莫夫·罗马

问题是您传递的onComplete不是函数而是其结果。

rect.animate('height',20, {
   onChange:canvas.renderAll.bind(canvas),
   duration: 1000,
   easing: fabric.util.ease.easeOutElastic,
   onComplete: function() {
     // Here
     drawbox(seq+1);
   }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用onComplete依次执行Fabric.js动画

来自分类Dev

动画时Fabric JS动画速度变化

来自分类Dev

使用 JS 动画元素

来自分类Dev

使用mouse:Fabric JS:覆盖动画对象

来自分类Dev

Fabric.js画布上的GIF动画

来自分类Dev

Fabric.js动画对象/图像

来自分类Dev

在动画过程中更改方向(使用原始JS动画)

来自分类Dev

使用js / jquery为滑动页脚栏动画设置动画

来自分类Dev

使用D3.js动画创建动画GIF文件

来自分类Dev

在动画过程中更改方向(使用原始JS动画)

来自分类Dev

使用fullpage.js重置CSS动画

来自分类Dev

使用D3.js动画圈

来自分类Dev

使用Paper.js补间动画

来自分类Dev

在React.js中使用CSS动画

来自分类Dev

使用SVG.js的Bee SVG动画

来自分类Dev

使用JS时CSS动画的速度变慢

来自分类Dev

React Js使用useState创建动画

来自分类Dev

无法使用Three.js加载动画

来自分类Dev

使用react.js滚动播放动画

来自分类Dev

使用SVG.js的Bee SVG动画

来自分类Dev

使用Velocity.js的无限背景动画

来自分类Dev

如何使用JS动画文本循环

来自分类Dev

如何使用Raphael JS制作连续动画?

来自分类Dev

在React中使用Velocity.js动画

来自分类Dev

使用highland.js参照原始流数据依次执行异步任务

来自分类Dev

使用highland.js参照原始流数据依次执行异步任务

来自分类Dev

如何在Fabric JS中围绕中心旋转动画

来自分类Dev

Fabric JS动画滞后一会儿

来自分类Dev

如何在Fabric JS中围绕中心旋转动画