2014-06-19 31 views
0

您可以請看this sample並讓我知道如何清除Raphaël上的一套圖紙?關於在Raphaël.js上清除套圖的問題

var paper = Raphael('my-canvas', 500, 500); 
var rect = paper.rect(100, 100, 100, 100); 
var st = paper.set(); 
st.push(
    paper.circle(10, 10, 5), 
    paper.circle(30, 10, 5) 
); 
st.attr({fill: "red"}); 

$(".clear").on("click",function(){ 
    st.clear(); 
}); 
+0

它清除設定罰款(這是除去紙張上的內容不同)。你是否期望總共刪除元素?如果是這樣,我會通過設置(與forEach)和element.remove() – Ian

+0

嗨蘭,謝謝你的答覆。我需要的是刪除集合中的所有圓圈,但保持其他繪圖像矩形。我在raphael文檔中看到了Set.clear(),但它在這裏不起作用 – Suffii

回答

1

如果你想完全刪除元素,你可能會想要使用像element.remove()方法。從一套中,你可以申請forEach。因此,代碼看起來像......

var paper = Raphael('my-canvas', 500, 500); 
var rect = paper.rect(100, 100, 100, 100); 
var st = paper.set(); 
st.push(
    paper.circle(10, 10, 5), 
    paper.circle(30, 10, 5) 
); 
st.attr({fill: "red"}); 

$(".clear").on("click",function(){ 
    st.forEach(function(el) { 
     el.remove(); 
    }); 

// edit: or shorten it and just have st.remove() 
}); 

jsfiddle