2015-03-27 3 views
0

Undo и Redo в Javascript и каждого события я хочу сохранить в локальном хранилище в качестве объектаUndo, Redo в Javascript с локальным хранилищем

FIDDLE

[http://jsfiddle.net/fdq68tbc/][1] 
+0

Ваш fidddle говорит: 'selectedPath.css не function' –

+1

и я не вижу какой-либо код для локального хранения данных, поэтому после соответствующий код –

+0

Обновить свой вопрос, добавляя больше деталей о том, чего вы на самом деле пытаетесь достичь. –

ответ

0

Попробуйте что-то вроде этого:

Markup

<svg width="300" height="100"> 
    <rect width="300" height="100" id="select1" /> 
</svg> 
<br/> 
<br/> 
<button class="btn" id="btn-test1" data-color="#ff0000">Red</button> 
<button class="btn" id="btn-test2" data-color="#00ff00">Green</button> 
<button class="btn" id="btn-test3" data-color="#0000ff">Blue</button> 
<hr/> 
<input type="button" value="Undo" id="btnUndo"> 
<input type="button" value="Redo" id="btnRedo"> 

Script

$('.btn').on('click', function() { 
    var pathToSet = localStorage.getItem('lastColor'); 
    localStorage.setItem('UndoColor', $("#select1").css("fill")); 
    selectedPath.css({ 
     fill: $(this).attr('data-color') 
    }); 
    localStorage.setItem('RedoColor', $("#select1").css("fill")); 
}); 

$("#btnUndo").click(function() { 
    var pathToSet = localStorage.getItem('UndoColor'); 


    selectedPath.css({ 
     fill: pathToSet 
    }); 

}); 
$("#btnRedo").click(function() { 
    var pathToSet = localStorage.getItem('RedoColor'); 


    selectedPath.css({ 
     fill: pathToSet 
    }); 

}); 

DEMO

+0

Я хочу отменить шаги и повторить шаги не только на 1 шаг, можете ли вы мне помочь, я хочу несколько шагов отмены и повторных шагов – Mahin

+0

@tripx, я обновил свой ответ за несколько шагов отмены, то же самое, что вам нужно сделать для Redo. –

+0

показывает, что вы можете дать мне обновленную ссылку – Mahin