12

raphaeljavascriptメインコンテナをクリアして再描画する必要があります。私はで試しました

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

最新のgRaphael0.5.1では、clear()メソッドを呼び出すだけでチャートを簡単にクリアできます。すなわち

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 に答える