2009-07-12 36 views
12

Tôi phải xóa và vẽ lại vùng chứa chính của javascript raphael. Tôi đã thử vớiCách đơn giản nhất để xóa vùng chứa bằng thư viện đồ họa javascript raphaeljs

 
var paper = Raphael(10, 50, 320, 200); 
paper.remove(); // Doesn't work 
paper.node.removeNode(); //this neither 
paper.removeNode(); //this neither 

Bất kỳ ý tưởng nào?

+0

một Raphael là gì? – BerggreenDK

+0

http://raphaeljs.com/, thư viện javascript đồ họa – Emilio

Trả lời

9

Thực ra nó chỉ đến với thông báo của tôi rằng có giấy dễ dàng hơn nhiều(); Nó không được ghi lại.

+0

Có ngay bây giờ tài liệu của nó là http://dmitrybaranovskiy.github.io/raphael/reference.html#Paper.clear – RikiRiocma

0

Có! bạn phải cày đến hết các tài liệu ..

(
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

+0

Raphael.ninja() (http://raphaeljs.com/reference.html#Raphael.ninja) xóa toàn bộ thư viện, vì vậy tôi không nghĩ rằng đó là có thể làm bất cứ điều gì khác trong Raphael sau khi gọi nó. Tôi nghĩ paper.clear() sẽ đủ để loại bỏ các phần tử trên giấy, hoặc paper.remove() để thực sự loại bỏ giấy khỏi DOM. – beldaz

15

Khi bạn tạo một bài báo nó tạo ra một đối tượng DOM. Bạn có thể truy cập điều này với

paper.canvas 

Khi bạn tạo đối tượng Raphael mới, bạn tạo đối tượng DOM mới và để nguyên đối tượng gốc! Đây là cách tốt nhất để làm điều đó xem xét tất cả mọi thứ mặc dù. Nếu bạn muốn xóa canvas, bạn chỉ cần thực hiện lệnh tiếp theo:

//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); 
} 
+1

Còn http://raphaeljs.com/reference.html#Paper.remove thì sao? – beldaz

3

với gRaphael 0.5.1 mới nhất, tôi xóa biểu đồ dễ dàng chỉ bằng cách gọi phương thức clear(). ví dụ:

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

Nhưng tôi không chắc chắn nếu nó sẽ làm việc cho phiên bản của bạn

Các vấn đề liên quan