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

📄 dijit-all.js.uncompressed.js

📁 这是一个ajax的例子大家好好的看看就是一个鱼眼的效果
💻 JS
📖 第 1 页 / 共 5 页
字号:
	var node = (args.node = dojo.byId(args.node));		var top = null;	var left = null;		var init = (function(n){		return function(){			var cs = dojo.getComputedStyle(n);			var pos = cs.position;			top = (pos == 'absolute' ? n.offsetTop : parseInt(cs.top) || 0);			left = (pos == 'absolute' ? n.offsetLeft : parseInt(cs.left) || 0);			if(pos != 'absolute' && pos != 'relative'){				var ret = dojo.coords(n, true);				top = ret.y;				left = ret.x;				n.style.position="absolute";				n.style.top=top+"px";				n.style.left=left+"px";			}		};	})(node);	init();	var anim = dojo.animateProperty(dojo.mixin({		properties: {			top: { end: args.top||0 },			left: { end: args.left||0 }		}	}, args));	dojo.connect(anim, "beforeBegin", anim, init);	return anim; // dojo._Animation}}if(!dojo._hasResource["dijit.layout.ContentPane"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.dojo._hasResource["dijit.layout.ContentPane"] = true;dojo.provide("dijit.layout.ContentPane");dojo.declare(	"dijit.layout.ContentPane",	dijit._Widget,{	// summary:	//		A widget that acts as a Container for other widgets, and includes a ajax interface	// description:	//		A widget that can be used as a standalone widget	//		or as a baseclass for other widgets	//		Handles replacement of document fragment using either external uri or javascript	//		generated markup or DOM content, instantiating widgets within that content.	//		Don't confuse it with an iframe, it only needs/wants document fragments.	//		It's useful as a child of LayoutContainer, SplitContainer, or TabContainer.	//		But note that those classes can contain any widget as a child.	// example:	//		Some quick samples:	//		To change the innerHTML use .setContent('<b>new content</b>')	//	//		Or you can send it a NodeList, .setContent(dojo.query('div [class=selected]', userSelection))	//		please note that the nodes in NodeList will copied, not moved	//	//		To do a ajax update use .setHref('url')	//	// href: String	//		The href of the content that displays now.	//		Set this at construction if you want to load data externally when the	//		pane is shown.  (Set preload=true to load it immediately.)	//		Changing href after creation doesn't have any effect; see setHref();	href: "",	// extractContent: Boolean	//	Extract visible content from inside of <body> .... </body>	extractContent: false,	// parseOnLoad: Boolean	//	parse content and create the widgets, if any	parseOnLoad:	true,	// preventCache: Boolean	//		Cache content retreived externally	preventCache:	false,	// preload: Boolean	//	Force load of data even if pane is hidden.	preload: false,	// refreshOnShow: Boolean	//		Refresh (re-download) content when pane goes from hidden to shown	refreshOnShow: false,	// loadingMessage: String	//	Message that shows while downloading	loadingMessage: "<span class='dijitContentPaneLoading'>${loadingState}</span>", 	// errorMessage: String	//	Message that shows if an error occurs	errorMessage: "<span class='dijitContentPaneError'>${errorState}</span>", 	// isLoaded: Boolean	//	Tells loading status see onLoad|onUnload for event hooks	isLoaded: false,	// class: String	//	Class name to apply to ContentPane dom nodes	// TODO: this should be called "baseClass" like in the other widgets	"class": "dijitContentPane",	// doLayout: String/Boolean	//	false - don't adjust size of children	//	true - looks for the first sizable child widget (ie, having resize() method) and sets it's size to	//			however big the ContentPane is (TODO: implement)	//	auto - if there is a single sizable child widget (ie, having resize() method), set it's size to	//			however big the ContentPane is	doLayout: "auto",	postCreate: function(){		// remove the title attribute so it doesn't show up when i hover		// over a node		this.domNode.title = "";		if(!this.containerNode){			// make getDescendants() work			this.containerNode = this.domNode;		}		if(this.preload){			this._loadCheck();		}		var messages = dojo.i18n.getLocalization("dijit", "loading", this.lang);		this.loadingMessage = dojo.string.substitute(this.loadingMessage, messages);		this.errorMessage = dojo.string.substitute(this.errorMessage, messages);		var curRole = dijit.getWaiRole(this.domNode);		if (!curRole){			dijit.setWaiRole(this.domNode, "group");		}		// for programatically created ContentPane (with <span> tag), need to muck w/CSS		// or it's as though overflow:visible is set		dojo.addClass(this.domNode, this["class"]);	},	startup: function(){		if(this._started){ return; }		if(this.doLayout != "false" && this.doLayout !== false){			this._checkIfSingleChild();			if(this._singleChild){				this._singleChild.startup();			}		}		this._loadCheck();		this.inherited(arguments);	},	_checkIfSingleChild: function(){		// summary:		// 	Test if we have exactly one widget as a child, and if so assume that we are a container for that widget,		//	and should propogate startup() and resize() calls to it.		// TODO: if there are two child widgets (a data store and a TabContainer, for example),		//	should still find the TabContainer		var childNodes = dojo.query(">", this.containerNode || this.domNode),			childWidgets = childNodes.filter("[widgetId]");		if(childNodes.length == 1 && childWidgets.length == 1){			this.isContainer = true;			this._singleChild = dijit.byNode(childWidgets[0]);		}else{			delete this.isContainer;			delete this._singleChild;		}	},	refresh: function(){		// summary:		//	Force a refresh (re-download) of content, be sure to turn off cache		// we return result of _prepareLoad here to avoid code dup. in dojox.layout.ContentPane		return this._prepareLoad(true);	},	setHref: function(/*String|Uri*/ href){		// summary:		//		Reset the (external defined) content of this pane and replace with new url		//		Note: It delays the download until widget is shown if preload is false		//	href:		//		url to the page you want to get, must be within the same domain as your mainpage		this.href = href;		// we return result of _prepareLoad here to avoid code dup. in dojox.layout.ContentPane		return this._prepareLoad();	},	setContent: function(/*String|DomNode|Nodelist*/data){		// summary:		//		Replaces old content with data content, include style classes from old content		//	data:		//		the new Content may be String, DomNode or NodeList		//		//		if data is a NodeList (or an array of nodes) nodes are copied		//		so you can import nodes from another document implicitly		// clear href so we cant run refresh and clear content		// refresh should only work if we downloaded the content		if(!this._isDownloaded){			this.href = "";			this._onUnloadHandler();		}		this._setContent(data || "");		this._isDownloaded = false; // must be set after _setContent(..), pathadjust in dojox.layout.ContentPane		if(this.parseOnLoad){			this._createSubWidgets();		}		if(this.doLayout != "false" && this.doLayout !== false){			this._checkIfSingleChild();			if(this._singleChild && this._singleChild.resize){				this._singleChild.startup();				this._singleChild.resize(this._contentBox || dojo.contentBox(this.containerNode || this.domNode));			}		}		this._onLoadHandler();	},	cancel: function(){		// summary:		//		Cancels a inflight download of content		if(this._xhrDfd && (this._xhrDfd.fired == -1)){			this._xhrDfd.cancel();		}		delete this._xhrDfd; // garbage collect	},	destroy: function(){		// if we have multiple controllers destroying us, bail after the first		if(this._beingDestroyed){			return;		}		// make sure we call onUnload		this._onUnloadHandler();		this._beingDestroyed = true;		this.inherited("destroy",arguments);	},	resize: function(size){		dojo.marginBox(this.domNode, size);		// Compute content box size in case we [later] need to size child		// If either height or width wasn't specified by the user, then query node for it.		// But note that setting the margin box and then immediately querying dimensions may return		// inaccurate results, so try not to depend on it.		var node = this.containerNode || this.domNode,			mb = dojo.mixin(dojo.marginBox(node), size||{});		this._contentBox = dijit.layout.marginBox2contentBox(node, mb);		// If we have a single widget child then size it to fit snugly within my borders		if(this._singleChild && this._singleChild.resize){			this._singleChild.resize(this._contentBox);		}	},	_prepareLoad: function(forceLoad){		// sets up for a xhrLoad, load is deferred until widget onShow		// cancels a inflight download		this.cancel();		this.isLoaded = false;		this._loadCheck(forceLoad);	},	_isShown: function(){		// summary: returns true if the content is currently shown		if("open" in this){			return this.open;		// for TitlePane, etc.		}else{			var node = this.domNode;			return (node.style.display != 'none')  && (node.style.visibility != 'hidden');		}	},	_loadCheck: function(/*Boolean*/ forceLoad){		// call this when you change onShow (onSelected) status when selected in parent container		// it's used as a trigger for href download when this.domNode.display != 'none'		// sequence:		// if no href -> bail		// forceLoad -> always load		// this.preload -> load when download not in progress, domNode display doesn't matter		// this.refreshOnShow -> load when download in progress bails, domNode display !='none' AND		//						this.open !== false (undefined is ok), isLoaded doesn't matter		// else -> load when download not in progress, if this.open !== false (undefined is ok) AND		//						domNode display != 'none', isLoaded must be false		var displayState = this._isShown();		if(this.href &&				(forceLoad ||				(this.preload && !this._xhrDfd) ||				(this.refreshOnShow && displayState && !this._xhrDfd) ||				(!this.isLoaded && displayState && !this._xhrDfd)			)		){			this._downloadExternalContent();		}	},	_downloadExternalContent: function(){		this._onUnloadHandler();		// display loading message		this._setContent(			this.onDownloadStart.call(this)		);		var self = this;		var getArgs = {			preventCache: (this.preventCache || this.refreshOnShow),			url: this.href,			handleAs: "text"		};		if(dojo.isObject(this.ioArgs)){			dojo.mixin(getArgs, this.ioArgs);		}		var hand = this._xhrDfd = (this.ioMethod || dojo.xhrGet)(getArgs);		hand.addCallback(function(html){			try{				self.onDownloadEnd.call(self);				self._isDownloaded = true;				self.setContent.call(self, html); // onload event is called from here			}catch(err){				self._onError.call(self, 'Content', err); // onContentError			}			delete self._xhrDfd;			return html;		});		hand.addErrback(function(err){			if(!hand.cancelled){				// show error message in the pane				self._onError.call(self, 'Download', err); // onDownloadError			}			delete self._xhrDfd;			return err;		});	},	_onLoadHandler: function(){		this.isLoaded = true;		try{			this.onLoad.call(this);		}catch(e){			console.error('Error '+this.widgetId+' running custom onLoad code');		}	},	_onUnloadHandler: function(){		this.isLoaded = false;		this.cancel();		try{			this.onUnload.call(this);		}catch(e){			console.error('Error '+this.widgetId+' running custom onUnload code');		}	},	_setContent: function(cont){		this.destroyDescendants();		try{			var node = this.containerNode || this.domNode;			while(node.firstChild){				dojo._destroyElement(node.firstChild);			}			if(typeof cont == "string"){				// dijit.ContentPane does only minimal fixes,				// No pathAdjustments, script retrieval, style clean etc				// some of these should be available in the dojox.layout.ContentPane				if(this.extractContent){					match = cont.match(/<body[^>]*>\s*([\s\S]+)\s*<\/body>/im);					if(match){ cont = match[1]; }				}				node.innerHTML = cont;			}else{				// domNode or NodeList				if(cont.nodeType){ // domNode (htmlNode 1 or textNode 3)					node.appendChild(cont);				}else{// nodelist or array such as dojo.Nodelist					dojo.forEach(cont, function(n){						node.appendChild(n.cloneNode(true));					});				}			}		}catch(e){			// check if a domfault occurs when we are appending this.errorMessage			// like for instance if domNode is a UL and we try append a DIV			var errMess = this.onContentError(e);			try{				node.innerHTML = errMess;			}catch(e){				console.error('Fatal '+this.id+' could not change content due to '+e.message, e);			}	

⌨️ 快捷键说明

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