12

我必须清除并重绘一个 raphael javascript 主容器。我试过了

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

任何想法?

4

4 回答 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);
}
于 2009-08-27T04:18:04.580 回答
11

实际上,我刚刚注意到有更简单的 paper.clear(); 它没有记录。

于 2010-03-07T21:51:30.950 回答
3

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

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

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

于 2012-09-23T12:49:43.187 回答
0

是的!你必须犁到文档的末尾..

(
function (local_raphael) 
{
/*Put your little bit of Rap code in here*/ 
var paper = local_raphael(10, 10, 320, 200); 
}
)(Raphael.ninja());

http://www.irunmywebsite.com/raphael/raphaelsource.html

于 2009-07-13T01:12:25.553 回答