Ответ 1
На самом деле мне просто приходит в голову, что там гораздо проще paper.clear(); Это не задокументировано.
Мне нужно очистить и перерисовать главный контейнер raphael javascript. Я пробовал с помощью
var paper = Raphael(10, 50, 320, 200); paper.remove(); // Doesn't work paper.node.removeNode(); //this neither paper.removeNode(); //this neither
Любая идея?
На самом деле мне просто приходит в голову, что там гораздо проще paper.clear(); Это не задокументировано.
Когда вы создаете документ, он создает объект DOM. Вы можете получить доступ к этому с помощью
paper.canvas
Когда вы создаете новый объект Raphael, вы создаете новый объект DOM и оставляете оригинал один! Это лучший способ сделать это, учитывая все. Если вы хотите удалить холст, вам нужно выполнить следующую команду:
//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);
}
с последним gRaphael 0.5.1, я легко очищаю диаграмму, просто вызывая метод clear(). то есть.
var r = Raphael(...)
r.clear();
Но я не уверен, что это сработает для вашей версии
Да! вы должны пахать до конца документов.
(
function (local_raphael)
{
/*Put your little bit of Rap code in here*/
var paper = local_raphael(10, 10, 320, 200);
}
)(Raphael.ninja());