使用raphaeljs JavaScript图形库清除容器的最简单方法

12

我需要清空并重绘raphael javascript主容器。我尝试过以下方法:

var paper = Raphael(10, 50, 320, 200);
paper.remove();  // 不起作用
paper.node.removeNode();    //这个也不行
paper.removeNode();   //这个也不行

有什么想法吗?


http://raphaeljs.com/ 是一个图形化的 JavaScript 库。 - Emilio
4个回答

15

当您创建一份文件时,它会创建一个DOM对象。您可以使用以下方式访问

paper.canvas

创建新的 Raphael 对象时,您将创建一个新的 DOM 对象并保留原始对象不变!考虑到一切,这是最好的方法。如果您想删除画布,只需要执行以下命令即可:
//Note: after calling this function the paper object will be useless!
//Make paper object null (or a new paper object) immediately!
function clearPaper(paper){
    var paperDom = paper.canvas;
    paperDom.parentNode.removeChild(paperDom);
}

11

实际上,我刚刚注意到有一个更简单的方法paper.clear(); 它没有被记录文档。


1
是的,现在已经有文档了 http://dmitrybaranovskiy.github.io/raphael/reference.html#Paper.clear - RikiRiocma

3

使用最新的gRaphael 0.5.1,只需调用clear()方法即可轻松清除图表。 例如:

var r = Raphael(...)
r.clear();

但我不确定它是否适用于您的版本。


0

Raphael.ninja()(http://raphaeljs.com/reference.html#Raphael.ninja)会移除整个库,因此我认为在调用它后无法在Raphael中进行其他操作。我认为paper.clear()足以清除画布上的元素,或者使用paper.remove()来从DOM中实际删除画布。 - beldaz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接