const stateStack = []
Перед любым перекрашиванием делаем
stateStack.push(document.getElementById('svg').inn erHTML)
По кнопке reset
if (stateStack.length)
document.getElementById('svg').innerHTML = stateStack.pop()
Можно, конечно придумать оптимизацию. Присвоить каждому path свой id При перекрашивании запоминать id того элемента, который перекрасили и именно его innerHTML, ну и восстанавливать соответственно.
stateStack.push({id: idpath, html: document.getElementById(idpath).innerHTML})
if (stateStack.length) {
const {idpath, html} = stateStack.pop()
document.getElementById(idpath).innerHTML = html
}
Последний раз редактировалось voraa, 02.04.2020 в 08:27.
|