Показать сообщение отдельно
  #5 (permalink)  
Старый 02.04.2020, 12:41
Аспирант
Отправить личное сообщение для Pavel_16 Посмотреть профиль Найти все сообщения от Pavel_16
 
Регистрация: 01.04.2020
Сообщений: 46

Не работает.....
Сообщение от voraa Посмотреть сообщение
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
}
Не получилось прикрутить
https://jsfiddle.net/zcgq5mj2/
вот к этой раскраски нужно,очень НУЖНО по кнопке проверку на fill
if ( [...document.getElementById('svg').querySelectorAll ('path')].every(ep => ep.getAttribute('fill')!='#ffffff') )
alert('Вы все закрасили!')
как писал VORAA
и по кнопке, возврат на шаг назад!!!

Спасибо за помощь ребята, за ранние благодарю!

Последний раз редактировалось Pavel_16, 02.04.2020 в 12:44.
Ответить с цитированием