码迷,mamicode.com
首页 > Web开发 > 详细

JS--撤销恢复,简单的想法。

时间:2017-06-21 13:54:49      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:一个   make   http   点击   功能   --   恢复   emoji   opera   

看下面这张图,在一个emojimaker的页面中,功能是点击拖动眼睛,鼻子等等坠饰,能组成一个emoji。

需求是点击之后能撤销或者恢复,走了许多弯路啊。最后借鉴了react的思想完成了这个功能。

技术分享

就简单说说: 

  我们需要什么? 需要2个栈,一个operationList[]用来记录正常的点击操作,一个buffer[]用来记录恢复的操作。

这样我们就不用在出栈入栈的时候考虑前后状态的问题,所需要做的仅仅是处理operationList[]这个栈。

下图是撤销操作示意图。详细讲起来会特别麻烦,主要想法就是避免状态的判断,尤其是前后状态。

也不知道该不该这样说,灵感来自于react维护的虚拟dom。

技术分享

 

JS--撤销恢复,简单的想法。

标签:一个   make   http   点击   功能   --   恢复   emoji   opera   

原文地址:http://www.cnblogs.com/weihuan098/p/7058942.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!