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

📄 dynlayer.js

📁 java 写的一个新闻发布系统
💻 JS
字号:
/*   DynAPI Distribution   DynLayer Class   The DynAPI Distribution is distributed under the terms of the GNU LGPL license.*/function DynLayer() {	this.DynObject = DynObject;	this.DynObject();	this.elm=null;	this.doc=null;	this.css=null;	var a=arguments	if(a[0]) this.setID(a[0])	this.x=a[1]||0;	this.y=a[2]||0;	this.w=a[3]||null;	this.h=a[4]||null;	this.bgColor=a[5]||null;	this.visible=(a[6]!=false && a[6]!='hidden');	this.z=a[7]||null;	this.bgImage=a[8]||null;	this.html=null;};DynLayer.prototype = new DynObject();DynLayer.prototype.isDynLayer = true;DynLayer.prototype.specificCreate=function() {	if (this.created||!this.parent||this.elm!=null) return;	if (is.ns6) {		var parentElement=(this.parent.isDynLayer)?this.parent.elm:this.parent.doc.body;		this.doc=this.parent.doc;		var r = parentElement.ownerDocument.createRange()		r.setStartBefore(parentElement);		ptxt = r.createContextualFragment(this.getOuterHTML());		parentElement.appendChild(ptxt);		this.elm=parentElement.lastChild;		this.css=this.elm.style;	} else if (is.ie) {		var parentElement=(this.parent.isDynLayer)?this.parent.elm:this.parent.doc.body;		var code=this.getOuterHTML();		parentElement.insertAdjacentHTML("beforeEnd", code);		this.elm=parentElement.children[parentElement.children.length-1];		this.css=this.elm.style;		this.doc=this.parent.doc;	} else if (is.ns4) {		var recycled=this.parent.doc.recycled;		if (recycled && recycled.length>0) {	        this.elm=recycled[0];			Methods.removeFromArray(recycled,recycled[0]);		} else {			this.elm=new Layer(this.w,this.parent.elm);			this.elm.captureEvents(Event.LOAD);			this.elm.onload=function() {};		}		this.css=this.elm;		this.doc=this.elm.document;		this.doc.lyrobj=this;		if (this.w) this.css.clip.width=this.w;		if (this.h) this.css.clip.height=this.h;		this.elm.moveTo(this.x,this.y);		this.doc.write(this.getInnerHTML());		this.doc.close();		if (this.bgColor!=null) this.setBgColor(this.bgColor);		if (this.bgImage!=null) this.setBgImage(this.bgImage);		if (this.clip) this.setClip(this.clip)		if (this.z) this.css.zIndex=this.z;		this.css.visibility=this.visible? "inherit" : (is.ns4?"hide":"hidden");		for (var i=0;i<this.doc.images.length;i++) this.doc.images[i].lyrobj=this;		for (i=0;i<this.doc.links.length;i++) this.doc.links[i].lyrobj=this;	}	this.frame=this.parent.frame	this.elm.lyrobj=this;	this.assignChildren();	if (this.html!=null) {		if (this.w==null && this.getContentWidth()>0) this.setWidth(this.getContentWidth(), false);		if (this.h==null && this.getContentHeight()>0) this.setHeight(this.getContentHeight(), false);	}};DynLayer.prototype.assignChildren=function() {	var l=this.children.length;	if(is.def) {		for (var i=0; i<l; i++) {			var child=this.children[i];			if (is.ie) var elm=this.elm.all[child.id]; 			else var elm=this.doc.getElementById(child.id);			child.elm=elm;			child.css=child.elm.style;			child.doc=this.doc;			child.elm.lyrobj=child;			child.frame=this.frame;			child.assignChildren();			if (child.z) child.css.zIndex=child.z;		}	} else if(is.ns4) {		for (var i=0; i<l; i++) {			var child=this.children[i];			var elm=this.doc.layers[child.id];			child.elm=elm;			child.css=elm;			child.doc=elm.document;			child.doc.lyrobj=child;			child.elm.lyrobj=child;			for (var j=0;j<child.doc.images.length;j++) child.doc.images[j].lyrobj=child;			for (j=0;j<child.doc.links.length;j++) child.doc.links[j].lyrobj=child;			child.assignChildren();			if (child.z) child.css.zIndex=child.z;		}	}};DynLayer.prototype.specificRemove=function() {	if (is.def && this.elm) {		this.elm.style.visibility = "hidden";		this.elm.innerHTML = "";		this.elm.outerHTML = "";		this.frame = null;	}	else if (is.ns4 && this.elm) {		if (!this.parent.doc.recycled) this.parent.doc.recycled=[];		this.parent.doc.recycled[this.parent.doc.recycled.length]=this.elm;	}	this.elm = null;	this.doc = null;	this.css = null;};DynLayer.prototype.getInnerHTML=function() {	var s="";	if (this.html!=null) s+=this.html;	var l=this.children.length;	for (var i=0;i<l;i++) s+=this.children[i].getOuterHTML();	return s;};if (is.def) {	DynLayer.prototype.getOuterHTML=function() {		var s='<div id="'+this.id+'" style="';		if (this.visible==false) s+=' visibility:hidden;';		if (this.x!=null) s+=' left:'+this.x+'px;';		if (this.y!=null) s+=' top:'+this.y+'px;';		if (this.w!=null) s+=' width:'+this.w+'px;';		if (this.h!=null) s+=' height:'+this.h+'px;';		if (this.clip) s+=' clip:rect('+this.clip[0]+'px '+this.clip[1]+'px '+this.clip[2]+'px '+this.clip[3]+'px);';		else if (this.w!=null && this.h!=null) s+=' clip:rect(0px '+this.w+'px '+this.h+'px 0px);';		if (this.z) s+=' z-index='+this.z+';';		if (this.bgImage!=null)	s+=' background-image:url('+this.bgImage+');'		if (this.bgColor!=null)	s+=' background-color:'+this.bgColor+';'		if (is.ie55 && this.bgImage==null && this.html==null) s+=' background-image:url(javascript:null);'		s+=' position:absolute;">';		if (this.html!=null) s+=this.html;		for (var i=0; i<this.children.length; i++) s+=this.children[i].getOuterHTML();		s+='</div>';		return s;	};} else if (is.ns4) {	DynLayer.prototype.getOuterHTML=function() {		var s='\n<layer id="'+this.id+'"';		if (this.visible==false) s+=' visibility="hide"';		if (this.x!=null) s+=' left='+this.x;		if (this.y!=null) s+=' top='+this.y;		if (this.w!=null) s+=' width='+this.w;		if (this.h!=null) s+=' height='+this.h;		if (this.clip) s+=' clip="'+this.clip[3]+','+this.clip[0]+','+this.clip[1]+','+this.clip[2]+'"';		else if (this.w!=null && this.h!=null) s+=' clip="0,0,'+this.w+','+this.h+'"';		if (this.z) s+=' zIndex='+this.z;		if (this.bgImage!=null)	s+=' background="'+this.bgImage+'"';		if (this.bgColor!=null)	s+=' bgcolor="'+this.bgColor+'"';		s+='>';		if (this.html!=null) s+=this.html;		for (var i=0; i<this.children.length; i++) s+=this.children[i].getOuterHTML();		s+='</layer>';		return s;	};};DynLayer.prototype._oldDL_create = DynLayer.prototype.createDynLayer.prototype.create = function() {	this._oldDL_create()	this.invokeEvent("resize")}if (is.ns) {	DynLayer.prototype._setX=function(){ this.css.left=this.x; }	DynLayer.prototype._setY=function(){ this.css.top=this.y; }} else {	DynLayer.prototype._setX=function(){ this.css.pixelLeft=this.x; }	DynLayer.prototype._setY=function(){ this.css.pixelTop=this.y; }};DynLayer.prototype.moveTo=function(x,y) {	if (x!=null) this.x=x;	if (y!=null) this.y=y;	if (this.css==null) return;	this._setX();	this._setY();	this.invokeEvent('move');};DynLayer.prototype.moveBy=function(x,y) {	this.moveTo(this.x+x,this.y+y);};DynLayer.prototype.setX=function(x) { this.moveTo(x,null); };DynLayer.prototype.setY=function(y) { this.moveTo(null,y); };DynLayer.prototype.getX=function() { return this.x; };DynLayer.prototype.getY=function() { return this.y; };DynLayer.prototype.getPageX=function() {	if (this.css==null) return null;	if (is.ns4) return this.css.pageX;	else return (this.isChild)? this.parent.getPageX()+this.x : this.x;};DynLayer.prototype.getPageY=function() {	if (this.css==null) return null;	if (is.ns4) return this.css.pageY;	else return (this.isChild)? this.parent.getPageY()+this.y : this.y;};DynLayer.prototype.setPageX=function(x) {	if (this.css==null) return;	if (is.ns4) this.css.pageX=x;	if (is.ie) {		if (this.isChild) this.setX(this.parent.getPageX()-x);		else this.setX(x);	}	this.getX();	this.invokeEvent('move');};DynLayer.prototype.setPageY=function(y) {	if (this.css==null) return;	if (is.ns4) this.css.pageY=y;	if (is.ie) {		if (this.isChild) this.setY(this.parent.getPageY()-y);		else this.setY(y);	}	this.getY();	this.invokeEvent('move');};DynLayer.prototype.setVisible=function(b) {	this.visible=b;	if (this.css==null) return;	this.css.visibility = b? "inherit" : (is.ns4?"hide":"hidden");};DynLayer.prototype.getVisible=function() {	return this.visible;};DynLayer.prototype.setZIndex=function(z) {	this.z=z;	if (this.css==null) return;	this.css.zIndex=z;};DynLayer.prototype.getZIndex=function() {	return this.z;};DynLayer.prototype.setBgImage=function(path) {	this.bgImage=path;	if (this.css==null) return;	if (is.ns4) {		this.elm.background.src=path;		if (!path) this.setBgColor(this.getBgColor());	}	else this.css.backgroundImage='url('+path+')';};DynLayer.prototype.getBgImage=function() {	return this.bgImage;};DynLayer.prototype.setBgColor=function(color) {	if (color==null) {		if (is.ns4) color=null		else color='transparent'	}	this.bgColor=color;	if (this.css==null) return;	if (is.ns4) this.doc.bgColor=color;	else this.css.backgroundColor=color;};DynLayer.prototype.getBgColor=function() {	return this.bgColor;};if (is.ns4) {	DynLayer.prototype._setHTML=function(html) {		var sTmp=(this.w==null)?'<NOBR>'+this.html+'</NOBR>':this.html		this.doc.open()		this.doc.write(sTmp)		this.doc.close()        	for (var i=0;i<this.doc.images.length;i++) this.doc.images[i].lyrobj=this;        	for (i=0;i<this.doc.links.length;i++) this.doc.links[i].lyrobj=this;	}} else if (is.ie) {	DynLayer.prototype._setHTML=function(html) { 		var images = this.elm.all.tags("img")		for (var i=0;i<images.length;i++) images[i].lyrobj=this		}} else {	DynLayer.prototype._setHTML=function(html) {;		sTmp=(this.w==null)?'<NOBR>'+this.html+'</NOBR>':this.html;		while (this.elm.hasChildNodes()) this.elm.removeChild(this.elm.firstChild);		var r=this.elm.ownerDocument.createRange();		r.selectNodeContents(this.elm);		r.collapse(true);		var df=r.createContextualFragment(sTmp);		this.elm.appendChild(df);	}};DynLayer.prototype.setHTML=function(html,noevt) {	this.html=html?html:'';	if (is.platform=="mac") this.html+='\n';	if (this.css==null) return;	if (noevt!=false) this.invokeEvent("beforeload");	this.elm.innerHTML=html;	this._setHTML(html);	if (noevt!=false) this.invokeEvent("load");}DynLayer.prototype.getHTML=function() {	return this.html;};DynLayer.prototype.setSize = function(w,h,noevt) {	this.w=(w==null)?this.w:w<0?0:w;	if (this.w==null) return;	this.h=(h==null)?this.h:h<0?0:h;	if (this.h==null) return;	if (this.css!=null) {		if (is.ns4) { 			this.css.clip.width = this.w;			this.css.clip.height = this.h;			}		else {			this.css.width = this.w;			this.css.height = this.h;			this.css.clip = 'rect(0px '+(this.w||0)+'px '+(this.h||0)+'px 0px)';		}	}    if (noevt!=false) this.invokeEvent('resize');};DynLayer.prototype.setWidth=function(w,noevt) {	this.w=(w==null)?this.w:w<0?0:w;	if (this.w==null) return;	if (this.css!=null) {		if (is.ns4) this.css.clip.width = this.w;		else {			this.css.width = this.w;			this.css.clip = 'rect(0px '+(this.w||0)+'px '+(this.h||0)+'px 0px)';		}	}    if (noevt!=false) this.invokeEvent('resize');};DynLayer.prototype.setHeight=function(h,noevt) {	this.h=(h==null)?this.h:h<0?0:h;	if (this.h==null) return;	if (this.css!=null) {		if (is.ns4) this.css.clip.height = this.h;		else {			this.css.height = this.h;			this.css.clip = 'rect(0px '+(this.w||0)+'px '+(this.h||0)+'px 0px)';		}	}	if (noevt!=false) this.invokeEvent('resize');};DynLayer.prototype.getWidth=function() {	return this.w;};DynLayer.prototype.getHeight=function() {	return this.h;};DynLayer.prototype.getContentWidth=function() {	if (this.elm==null) return 0;	else {		if (is.ns4) return this.doc.width;		else if (is.ie) {       			if (is.platform=="mac") this.elm.offsetWidth //Mac hack, forces scrollWidth to fill due to IE 5 mac bug        		return parseInt(this.elm.scrollWidth);			}		else {			var tw = this.elm.style.width		        this.elm.style.width = "auto";        		var w = this.elm.offsetWidth;        		this.elm.style.width = tw;        		return w;		}	};};DynLayer.prototype.getContentHeight=function() {	if (this.elm==null) return 0;	else {		if (is.ns4) return this.doc.height;		else if (is.ie) {       			if (is.platform=="mac") this.elm.offsetHeight;        		return parseInt(this.elm.scrollHeight);			}		else {			var th = this.elm.style.height			this.elm.style.height = "auto";        		var h = this.elm.offsetHeight;        		this.elm.style.height = th;        		return h;		}	}};DynLayer.prototype.setClip=function(clip) {	var cc=this.getClip();	for (var i=0;i<clip.length;i++) if (clip[i]==null) clip[i]=cc[i];	this.clip=clip;	if (this.css==null) return;	var c=this.css.clip;	if (is.ns4) c.top=clip[0], c.right=clip[1], c.bottom=clip[2], c.left=clip[3];	else this.css.clip="rect("+clip[0]+"px "+clip[1]+"px "+clip[2]+"px "+clip[3]+"px)";};DynLayer.prototype.getClip=function() {	if (this.css==null || !this.css.clip) return [0,0,0,0];	var c = this.css.clip;	if (c) {		if (is.ns4) return [c.top,c.right,c.bottom,c.left];		if (c.indexOf("rect(")>-1) {			c=c.split("rect(")[1].split(")")[0].split("px");			for (var i=0;i<c.length;i++) c[i]=parseInt(c[i]);			return [c[0],c[1],c[2],c[3]];		}		else return [0,this.w,this.h,0];	}};

⌨️ 快捷键说明

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