2014-07-01 58 views
-1

我試圖通過使用setInterval(updateAngle,10);updateAngle函數更新一些函數,其中我調用canvas.remove(n)(其中canvas爲Raphael),然後創建新實例那些* n * s。我現在得到的錯誤是canvas.path()未定義,如果我不進行remove調用,則不會收到錯誤。爲什麼我可能得到這個錯誤,我是否正確地做到了這一點?更新時出現.remove()問題

編輯:這是上下文。

function updateAngle(){ 
    // canvas.remove(initBeam); 
    // canvas.remove(reflBeam); 
    canvas.remove(propBeam); 
    angle = angleSlider.val; 

(17線後)

emitter = canvas.path(makePathForPolygon([emitter_left,emitter_top,emitter_right,emitter_bottom])) // <- this errors 
       .attr({'fill':EMITTER_COLOR}) 
       .attr({'id':'emitter'}); 

(...)

} 
+0

如果您發佈更多的代碼,這將有所幫助! – Dennis

回答

0

好吧,我發現了什麼是錯誤的。我想要的是[element].remove()。在畫布上調用remove()將刪除畫布而不是元素,這就是爲什麼它不再理解canvas