Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Fabric.js-淡出对象并从画布中移除_Javascript_Fabricjs - Fatal编程技术网

Javascript Fabric.js-淡出对象并从画布中移除

Javascript Fabric.js-淡出对象并从画布中移除,javascript,fabricjs,Javascript,Fabricjs,如何在画布上淡出一个对象,然后移除该对象 另外,我得到了未捕获的TypeError:activeObj.animate不是一个函数,这真的很奇怪,正如我在代码编辑器中看到的那样,我有animate方法及其参数可用。在我看来,动画应该可以用于画布上的任何对象 以下是我目前掌握的情况: var activeObj = canvas.getActiveObject(); activeObj.setOpacity(1); activeObj.animate('opacity', '0', { on

如何在画布上淡出一个对象,然后移除该对象

另外,我得到了
未捕获的TypeError:activeObj.animate不是一个函数
,这真的很奇怪,正如我在代码编辑器中看到的那样,我有animate方法及其参数可用。在我看来,动画应该可以用于画布上的任何对象

以下是我目前掌握的情况:

var activeObj = canvas.getActiveObject();

activeObj.setOpacity(1);
activeObj.animate('opacity', '0', {
  onChange: canvas.renderAll.bind(canvas) });
};
canvas.remove(activeObj);

我相信上面代码的问题在于移除对象的调用发生在动画完成之前。动画结束后,需要使用
onComplete
选项删除对象

var canvas=newfabric.canvas('t');
var circle=new fabric.circle({radius:20,fill:'green',left:100,top:100});
canvas.add(圆圈);
canvas.setActiveObject(圆形);
var activeObj=canvas.getActiveObject();
activeObj.setOpacity(1);
activeObj.animate('opacity','0','{
持续时间:1000,
onChange:canvas.renderAll.bind(canvas),
onComplete:function(){
canvas.remove(activeObj);
}
});
画布{
边框:1px实心;
}


@kangax你知道我会怎么做吗?这看起来是正确的,我现在来测试一下。我发现为什么
.animate()
不是一个可用的函数。当您进行自定义构建时,它使用1.5版,并且似乎没有可用的
.animate()
方法,即使您选中了每个选项。但是,1.6的完整版本确实可以正常工作。