Einfachste Möglichkeit, einen Container mit Raphaeljs JavaScript -Grafikbibliothek zu löschen

StackOverflow https://stackoverflow.com/questions/1116147

  •  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?

War es hilfreich?

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());

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top