Самый простой способ очистить контейнер с помощью графической библиотеки raphaeljs javascript


Я должен очистить и перерисовать основной контейнер JavaScript Рафаэля. Я пробовал с

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

Есть идеи?

4 12

4 ответа:

На самом деле я только что заметил, что есть гораздо более простая бумага.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());

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