⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 undostack.js

📁 这是一个ajax的例子大家好好的看看就是一个鱼眼的效果
💻 JS
字号:
if(!dojo._hasResource["dojox.sketch.UndoStack"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.dojo._hasResource["dojox.sketch.UndoStack"] = true;dojo.provide("dojox.sketch.UndoStack");dojo.require("dojox.xml.DomParser");(function(){	var ta=dojox.sketch;	ta.CommandTypes={ Create:"Create", Move:"Move", Modify:"Modify", Delete:"Delete", Convert:"Convert"};	dojo.declare("dojox.sketch.UndoStack",null,{		constructor: function(figure){			this.figure=figure;			this._steps=[];			this._undoedSteps=[];		},		apply: function(state, from, to){			//	the key here is to neutrally move from one state to another.			//	we let the individual functions (i.e. undo and redo) actually			//	determine the from and to; all we do here is implement it.			//	check whether this is a fullText step			if(!from && !to && state.fullText){				this.figure.setValue(state.fullText);				return;			}			var fromText=from.shapeText;			var toText=to.shapeText;						if(fromText.length==0&&toText.length==0){				//	nothing to reapply?				return;			}			if(fromText.length==0){				//	We are creating.				var o=dojox.xml.DomParser.parse(toText).documentElement;				var a=this.figure._loadAnnotation(o);				if(a) this.figure._add(a);				return;			}			if(toText.length==0){				//	we are deleting.				var ann=this.figure.get(from.shapeId);				this.figure._delete([ann],true);				return;			}						//	we can simply reinit and draw from the shape itself,			//		regardless of the actual command.			var nann=this.figure.get(to.shapeId);			var no=dojox.xml.DomParser.parse(toText).documentElement;			nann.draw(no);			this.figure.select(nann);			return;		},		//	stack methods.		add: function(/*String*/cmd, /*ta.Annotation?*/ann, /*String?*/before){			var id=ann?ann.id:'';			//var bbox=ann?ann.getBBox():{};			var after=ann?ann.serialize():"";			if(cmd==ta.CommandTypes.Delete) after="";						/*if(ann){				//	fix the bbox x/y coords				var t=ann.transform;				bbox.x+=t.dx;				bbox.y+=t.dy;			}*/			var state={				cmdname:cmd,				//bbox:bbox,//					fullText:fullText,				before:{					shapeId: id,					shapeText:before||''				},				after:{					shapeId: id,					shapeText:after				}			};			//console.log('dojox.sketch history add',state);			this._steps.push(state);			this._undoedSteps = [];		},		destroy: function(){},		undo: function(){			var state=this._steps.pop();			if(state){				this._undoedSteps.push(state);				this.apply(state,state.after,state.before);			}		},		redo: function(){			var state=this._undoedSteps.pop();			if(state){				this._steps.push(state);				this.apply(state,state.before,state.after);			}		}	});})();}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -