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

📄 layout.js

📁 dojo-0.4.0-ajax.zip ajax一个应用。在页面上可以直接用标签。此为ajax的框架
💻 JS
字号:
/*	Copyright (c) 2004-2006, The Dojo Foundation	All Rights Reserved.	Licensed under the Academic Free License version 2.1 or above OR the	modified BSD license. For more information on Dojo licensing, see:		http://dojotoolkit.org/community/licensing.shtml*/dojo.provide("dojo.widget.html.layout");dojo.require("dojo.lang.common");dojo.require("dojo.string.extras");dojo.require("dojo.html.style");dojo.require("dojo.html.layout");/** * Layout a bunch of child dom nodes within a parent dom node * Input is an array of objects like: * @ container - parent node * @ layoutPriority - "top-bottom" or "left-right" * @ children an array like [ {domNode: foo, layoutAlign: "bottom" }, {domNode: bar, layoutAlign: "client"} ] */dojo.widget.html.layout = function(container, children, layoutPriority) {	dojo.html.addClass(container, "dojoLayoutContainer");	// Copy children array and remove elements w/out layout.	// Also record each child's position in the input array, for sorting purposes.	children = dojo.lang.filter(children, function(child, idx){		child.idx = idx;		return dojo.lang.inArray(["top","bottom","left","right","client","flood"], child.layoutAlign)	});	// Order the children according to layoutPriority.	// Multiple children w/the same layoutPriority will be sorted by their position in the input array.	if(layoutPriority && layoutPriority!="none"){		var rank = function(child){			switch(child.layoutAlign){				case "flood":					return 1;				case "left":				case "right":					return (layoutPriority=="left-right") ? 2 : 3;				case "top":				case "bottom":					return (layoutPriority=="left-right") ? 3 : 2;				default:					return 4;			}		};		children.sort(function(a,b){			return (rank(a)-rank(b)) || (a.idx - b.idx);		});	}	// remaining space (blank area where nothing has been written)	var f={		top: dojo.html.getPixelValue(container, "padding-top", true),		left: dojo.html.getPixelValue(container, "padding-left", true)	};	dojo.lang.mixin(f, dojo.html.getContentBox(container));	// set positions/sizes	dojo.lang.forEach(children, function(child){		var elm=child.domNode;		var pos=child.layoutAlign;		// set elem to upper left corner of unused space; may move it later		with(elm.style){			left = f.left+"px";			top = f.top+"px";			bottom = "auto";			right = "auto";		}		dojo.html.addClass(elm, "dojoAlign" + dojo.string.capitalize(pos));		// set size && adjust record of remaining space.		// note that setting the width of a <div> may affect it's height.		// TODO: same is true for widgets but need to implement API to support that		if ( (pos=="top")||(pos=="bottom") ) {			dojo.html.setMarginBox(elm, { width: f.width });			var h = dojo.html.getMarginBox(elm).height;			f.height -= h;			if(pos=="top"){				f.top += h;			}else{				elm.style.top = f.top + f.height + "px";			}		}else if(pos=="left" || pos=="right"){			var w = dojo.html.getMarginBox(elm).width;			// width needs to be set for Firefox (#941)			dojo.html.setMarginBox(elm, { width: w, height: f.height });			f.width -= w;			if(pos=="left"){				f.left += w;			}else{				elm.style.left = f.left + f.width + "px";			}		} else if(pos=="flood" || pos=="client"){			dojo.html.setMarginBox(elm, { width: f.width, height: f.height });		}				// TODO: for widgets I want to call resizeTo(), but for top/bottom		// alignment I only want to set the width, and have the size determined		// dynamically.  (The thinner you make a div, the more height it consumes.)		if(child.onResized){			child.onResized();		}	});};// This is essential CSS to make layout work (it isn't "styling" CSS)// make sure that the position:absolute in dojoAlign* overrides other classesdojo.html.insertCssText(	".dojoLayoutContainer{ position: relative; display: block; }\n" +	"body .dojoAlignTop, body .dojoAlignBottom, body .dojoAlignLeft, body .dojoAlignRight { position: absolute; overflow: hidden; }\n" +	"body .dojoAlignClient { position: absolute }\n" +	".dojoAlignClient { overflow: auto; }\n");

⌨️ 快捷键说明

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