Einfachste Möglichkeit, einen Container mit Raphaeljs JavaScript -Grafikbibliothek zu löschen
-
12-09-2019 - |
Frage
Ich muss einen Raphael JavaScript -Hauptcontainer löschen und neu zeichnen. Ich habe es versucht mit
var paper = Raphael(10, 50, 320, 200); paper.remove(); // Doesn't work paper.node.removeNode(); //this neither paper.removeNode(); //this neither
Irgendeine Idee?
Lösung
Eigentlich ist mir nur aufgefallen, dass es das viel einfachere Papier gibt. Clear (); Es ist nicht dokumentiert.
Andere Tipps
Wenn Sie ein Papier erstellen, wird ein DOM -Objekt erstellt. Sie können darauf zugreifen mit
paper.canvas
Wenn Sie ein neues Raphael -Objekt erstellen, erstellen Sie ein neues DOM -Objekt und lassen das Original in Ruhe! Dies ist der beste Weg, um es zu tun, wenn man alles berücksichtigt. Wenn Sie die Leinwand löschen möchten, müssen Sie nur den nächsten Befehl ausführen:
//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);
}
Mit dem neuesten Graphael 0.5.1 lösche ich das Diagramm leicht, indem ich einfach die Clear () -Methode aufgerufen habe. dh
var r = Raphael(...)
r.clear();
Aber ich bin mir nicht sicher, ob es für Ihre Version funktionieren würde
Ja! Sie müssen bis zum Ende der Dokumente pflügen.
(
function (local_raphael)
{
/*Put your little bit of Rap code in here*/
var paper = local_raphael(10, 10, 320, 200);
}
)(Raphael.ninja());