首页 > 代码库 > JS--撤销恢复,简单的想法。
JS--撤销恢复,简单的想法。
看下面这张图,在一个emojimaker的页面中,功能是点击拖动眼睛,鼻子等等坠饰,能组成一个emoji。
需求是点击之后能撤销或者恢复,走了许多弯路啊。最后借鉴了react的思想完成了这个功能。
就简单说说:
我们需要什么? 需要2个栈,一个operationList[]用来记录正常的点击操作,一个buffer[]用来记录恢复的操作。
这样我们就不用在出栈入栈的时候考虑前后状态的问题,所需要做的仅仅是处理operationList[]这个栈。
下图是撤销操作示意图。详细讲起来会特别麻烦,主要想法就是避免状态的判断,尤其是前后状态。
也不知道该不该这样说,灵感来自于react维护的虚拟dom。
JS--撤销恢复,简单的想法。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。