当前位置:网站首页>Delete element (with transition animation)
Delete element (with transition animation)
2022-07-02 14:26:00 【Director of Moral Education Department】
Brief introduction
Fabric.js Provides 2 Methods to delete objects .
One is Delete directly , Another way is With transition animation Remove elements ( Fade out animation ).
This article focuses on With transition animation How to delete elements , I'll also talk about settings The transition time is long 、 Delete the Callback function Wait for knowledge .

<br>
<br>
relevant API
Delete the element's 2 Methods :
canvas.remove(...object)canvas.fxRemove(object, callbacksopt)
Animation duration :
canvas.FX_DURATION
<br>
canvas.remove
remove Well understood. , It means delete . Just pass in the element object .
canvas.remove(object) stay canvas.renderOnAddRemove by true Under the circumstances , Use canvas.remove After deleting the element , The canvas will refresh automatically .
canvas.renderOnAddRemove The default value is true
<br>
If canvas.renderOnAddRemove = false , Use canvas.remove after , The element is deleted , But you can still see elements on the canvas .
Manual execution is required at this time canvas.renderAll() Or other refresh methods , The element that has just been deleted will be removed from the canvas ( Visually ) disappear .
<br>
canvas.fxRemove
fxRemove Is a deletion method with transition animation , Objects deleted using this method fade out , Until it disappears .
This method The first parameter Is the object to delete ;
The second parameter Is a callback object , This object has 2 It's worth , Is a type function .
Namely onChange and onComplete .
onChange: Called at every step of the animationonComplete: After successful deletion, base note is called.
<br>
canvas.fxRemove(object, { onChange() { console.log(' Called at every frame of the animation ') }, onComplete() { console.log(' After successful deletion, base note is called. ') }})<br>
canvas.FX_DURATION
canvas.FX_DURATION You can set the duration of the transition animation .
The default value is 500, The unit is millisecond
canvas.FX_DURATION = 1500<br>
After modification canvas.FX_DURATION after , Try again. canvas.fxRemove , The transition duration of deleting elements is the duration you set .
<br>
<br>
Sample code

<div class="btn-x"> <button onclick="delCircle()"> Remove elements ( Circular )</button> <button onclick="delRect()"> Delete element with animation ( square )</button></div><canvas id="canvasBox" width="600" height="600"></canvas> <script src="https://cdn.bootcdn.net/ajax/libs/fabric.js/460/fabric.min.js"></script><script> let canvas = null let circle = null let rect = null window.onload = function() { // Use Elements id Create a canvas , At this point, you can box select... On the canvas canvas = new fabric.Canvas('canvasBox', { width: 400, height: 400 }) // circular circle = new fabric.Circle({ name: 'circle', top: 60, left: 60, radius: 30, // The radius of the circle 30 fill: 'yellowgreen' }) // rectangular rect = new fabric.Rect({ name: 'rect', top: 60, // From the top of the container 60px left: 200, // To the left of the container 200px fill: 'orange', // fill a Orange width: 60, // Width 60px height: 60 // Height 60px }) // Add rectangle to canvas canvas.add(circle, rect) } // Delete circle ( No animation ) function delCircle() { canvas.remove(circle) } // Delete rectangle ( There's animation ) function delRect() { canvas.FX_DURATION = 1500 // Animation duration , Default 500 millisecond canvas.fxRemove(rect, { onChange() { console.log(' Called at every step of the animation ') }, onComplete() { console.log(' After successful deletion, base note is called. ') } }) }</script><br>
<br>
Code warehouse
- Native way to achieve Remove elements ( With transition animation )
- stay Vue3 Use in Fabric Realization Remove elements ( With transition animation )
<br>
<br>
Recommended reading
《Fabric.js Upload local image to canvas background 》
《Fabric.js From entry to expansion 》
《Fabric.js Gradient effect ( Including radial gradient )》
《Fabric.js 3 individual api Set canvas width and height 》
《Fabric.js Customize the right-click menu 》
<br>
If the content of this article is helpful to you , Please also give me a compliment give the thumbs-up + Focus on + Collection = Learned to
边栏推荐
- 跨服务器数据访问的创建链接服务器方法
- Mysql5.7 installation super easy tutorial
- Solving the longest subsequence with linear DP -- three questions
- PHP linked list creation and traversal
- Fabric.js 手动加粗文本iText
- [to be continued] [UE4 notes] l5ue4 model import
- The evolution process of the correct implementation principle of redis distributed lock and the summary of redison's actual combat
- STM32-DAC实验&高频DAC输出测试
- 2022家用投影仪首选!当贝F5强悍音画效果带来极致视听体验
- Use of UIC in QT
猜你喜欢

Custom events, global event bus, message subscription and publishing, $nexttick

Everyone believes that the one-stop credit platform makes the credit scenario "useful"

<口算练习机 方案开发原理图>口算练习机/口算宝/儿童数学宝/儿童计算器 LCD液晶显示驱动IC-VK1621B,提供技术支持

STM32-DAC实验&高频DAC输出测试

【虹科技术分享】如何测试 DNS 服务器:DNS 性能和响应时间测试

selenium 元素定位方法

每日学习3

Design of non main lamp: how to make intelligent lighting more "intelligent"?

Penetrate the remote connection database through the Intranet

Use bloc to build a page instance of shutter
随机推荐
C语言高级用法--函数指针:回调函数;转换表
MQ教程 | Exchange(交换机)
In 2021, the global TCB adapter revenue was about $93 million, and it is expected to reach $315.5 million in 2028
QT - make a simple calculator - realize four operations
QT new project_ MyNotepad++
数据湖(十一):Iceberg表数据组织与查询
P1908 逆序对
<口算練習機 方案開發原理圖>口算練習機/口算寶/兒童數學寶/兒童計算器 LCD液晶顯示驅動IC-VK1621B,提供技術支持
c# 水晶报表打印
《可供方案开发》口算训练机/数学宝/儿童口算宝/智能数学宝 LCD液晶显示驱动IC-VK1622(LQFP64封装),原厂技术支持
路由(二)
全屋Wi-Fi:一个谁也解决不好的痛点?
<口算练习机 方案开发原理图>口算练习机/口算宝/儿童数学宝/儿童计算器 LCD液晶显示驱动IC-VK1621B,提供技术支持
Essential elements of science fiction 3D scenes - City
[development environment] StarUML tool (download software | StarUML installation | StarUML creation project)
Route (II)
Selenium element positioning method
Golang quickly generates model and queryset of database tables
Federated Search: all requirements in search
卷积神经网络(入门)