如何使用 FabricJS 線上取消正在執行的動畫?
在本教程中,我們將學習如何使用 FabricJS 取消線上執行的動畫。線元素是 FabricJS 中提供的基本元素之一,用於建立直線。由於線元素在幾何上是一維的並且沒有內部,因此它們永遠不會被填充。我們可以透過建立 fabric.Line 的例項、指定線的 X 和 Y 座標並將其新增到畫布來建立一個線物件。要取消正在執行的動畫,我們使用 dispose 方法。
語法
dispose()
沒有使用 dispose 方法
示例
讓我們看一個程式碼示例,瞭解當沒有使用 dispose 方法時線物件的動畫如何工作的。在這裡,我們建立了一個簡單的動畫,線物件完成一個完整的旋轉並向外擴充套件。
<!DOCTYPE html> <html> <head> <!-- Adding the Fabric JS Library--> <script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/510/fabric.min.js"></script> </head> <body> <h2>Without using dispose method</h2> <p>You can see the animation is happening properly</p> <canvas id="canvas"></canvas> <script> // Initiate a canvas instance var canvas = new fabric.Canvas("canvas"); canvas.setWidth(document.body.scrollWidth); canvas.setHeight(250); // Initiate a Line object var line = new fabric.Line([250, 100, 310, 100], { stroke: "blue", strokeWidth: 10, }); // Using the animate method line.animate("angle", "+=360", { onChange: canvas.renderAll.bind(canvas), duration: 1700, }); // Add it to the canvas canvas.add(line); </script> </body> </html>
使用 dispose 方法
示例
在此示例中,我們使用 dispose 方法來取消正在執行的動畫。因此,將取消該線例項的所有正在執行的動畫。
<!DOCTYPE html> <html> <head> <!-- Adding the Fabric JS Library--> <script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/510/fabric.min.js"></script> </head> <body> <h2>Using the dispose method</h2> <p>You can see that the animation no longer happens</p> <canvas id="canvas"></canvas> <script> // Initiate a canvas instance var canvas = new fabric.Canvas("canvas"); canvas.setWidth(document.body.scrollWidth); canvas.setHeight(250); // Initiate a Line object var line = new fabric.Line([250, 100, 310, 100], { stroke: "blue", strokeWidth: 10, }); // Using the animate method line.animate("angle", "+=360", { onChange: canvas.renderAll.bind(canvas), duration: 1700, }); // Add it to the canvas canvas.add(line); // Using dispose method line.dispose() </script> </body> </html>
廣告