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

📄 coolmenus3.js

📁 这个网上商城系统项目是我之前发过类似的一个大的整合
💻 JS
📖 第 1 页 / 共 3 页
字号:
	if(this.m[name].mout!="") eval(this.m[name].mout)

	if(this.useclick){this.isover=0; return}; clearTimeout(this.tim); 

	if(!(!bw.ie&&this.useframes&&l==0&&this.aobj1)){ this.isover=0; this.aobj1=0; this.tim=setTimeout(this.name+".hideSubs(1,0,0,0,1)",this.wait)} 

}

/************

Onmouseover

*************/

function cm_mover(name,cl){

	clearTimeout(this.tim); this.isover=1; var l=this.m[name].l;

	if(this.aobj[l].name==name){

		if(this.aobj[l+1]!=-1 && l<this.l.length-1){

			this.aobj[l+1].setactive(0,0,1); this.aobj[l+1]=-1; this.hideSubs(l+2,1); return

		}else if((!this.useclick)||(this.useclick&&this.isclicked)) return

	}if(this.m[name].mover!="") eval(this.m[name].mover)

	var num=this.m[name].num; var obj=this.l[l].o[num]

	if(this.aobj[l].name!=name){if(this.aobj[l]!=-1) this.aobj[l].setactive(0,0,1); this.aobj[l]=obj; this.aobj[l].name=name; obj.setactive(1,0,1)}

	if(l==1)this.aobj1=1; if(l==0 && cl && this.useclick) this.isclicked=1; 

	if(!this.isclicked&&this.useclick) return; if(!this.loaded) return;

	this.showSubs(name,l,num,cl)

}

/************

Hiding subelements

*************/

function cm_hideSubs(l,system,cl,sys2,hc){

	if(this.isover && !system) return

	if(l==1 && this.aobj[0]!=-1&&!sys2){this.aobj[0].setactive(0,0,1);this.aobj[0]=-1}

	if(!this.loaded) return; if(cl==1) return

	for(i=l;i<this.l.length;i++){if(this.l[i].oBorder.vis==0) break; this.l[i].oBorder.hideIt(); this.aobj[i]=-1;}

	if(hc&&this.hcode){eval(this.hcode); this.hcode=""}

}

/************

Get x/y coords. Only the first time :)

*************/

function cm_getCoords(name,l,num,topalign,align,ln,border,cn,lev1b){

	if(cn==5){ this.m[name].subx=0; this.m[name].suby=0; return }//Just in case infinitive loops

	if(l==1) var pobj=this.l[l-1].o[num].oBorder

	else var pobj=this.l[l-1].oBorder

	var x=pobj.x; var y=pobj.y;

	if(l!=1){y+=this.l[l-1].o[num].y}

	pborder=this.l[l-1].border; 

	lx=x+pobj.width; rx=x-this.m[name].maxwidth- (this.l[l-1].offsetX*2)

	if(align==0){if(l==1){y+=border} if(l==1&&this.useframes) x=0; else x=lx

	}else if(align==1){x=rx; if(l==1){if(this.useframes) x=page.x2 - this.m[name].maxwidth; y+=border}}

	if((align==2||topalign==2)&&lev1b!=3){

		if(l!=1 && (align!=1&&align!=0)){if(topalign==1) x=rx; else x=lx}

		if(l==1) if(this.useframes) y=0; else y+=this.m[name].height+border+pborder;

	}if((align==3||topalign==3)&&lev1b!=2){

		if(l!=1&&align!=1&&align!=0){if(topalign==1) x=rx; else x=lx}

		if(this.useframes&&l==1) y=page.y2 - this.m[name].totheight - this.l[l-1].offsetY*2

		else y-=this.m[name].totheight - this.l[l].offsetY*2; if(l!=1||lev1b==3) y+=this.m[name].height

	}this.m[name].scrollY=this.lastScrolled; this.m[name].subx=x+this.l[l-1].offsetX; 

	this.m[name].suby=y+this.l[l-1].offsetY; if(this.useframes&&l==1&&align!=3) this.m[name].suby+=this.lastScrolled

	if(this.pagecheck&&(l!=1||!this.useframes)) this.checkPage(name,l,num,topalign,align,ln,border,cn)

}

/************

Checking page coords

*************/

function cm_checkPage(name,l,num,topalign,align,ln,border,cn){

	cn++; 

	if(this.m[name].subx+this.m[name].maxwidth>page.x2){

		if(align!=1){if(align==3&&topalign!=0) topalign=3; align=1; this.getCoords(name,l,num,topalign,align,ln,border,cn)}

	}else if(this.m[name].subx<page.x){

		if(align!=0){if(align==3) topalign=3; align=0; this.getCoords(name,l,num,topalign,align,ln,border,cn)}

	}else if((this.m[name].suby+this.m[name].totheight)>page.y2){

		if(l==1){topalign=3; this.getCoords(name,l,num,topalign,align,ln,border,cn,3)}

		else if(align!=3){ align=3; this.getCoords(name,l,num,topalign,align,ln,border,cn)}

	}else if(this.m[name].suby<page.y){

		if(l==1){topalign=2; this.getCoords(name,l,num,topalign,align,ln,border,cn,2)}

		else if(align!=2){align=2; this.getCoords(name,l,num,topalign,align,ln,border,cn)}

	}

}

/************

Showing subelements

*************/

function cm_showSubs(name,l,num,cl){

	l+=1; if(l>=this.l.length) return; ln=this.m[name].subs.length

	if(ln==0){this.hideSubs(l,1,0,1); return}

	else this.hideSubs(l+1,1); var border=this.l[l].border; this.aobj[l]=-1

	if(this.useframes&&(bw.ns4||bw.ns6)) cm_checkScrolled(this)

	if((this.m[name].subx==-1 || this.m[name].suby==-1) || this.m[name].scrollY!=this.lastScrolled || this.isresized){

		var topalign=this.l[0].align; var align=this.l[l-1].align; 

		this.getCoords(name,l,num,topalign,align,ln,border,0)

	}var x=this.m[name].subx; var y=this.m[name].suby;

	var bobj=this.l[l].oBorder; bobj.hideIt(); 

	if(this.l[l-1].clip&&!(this.l[l-1].filter&&bw.filter)){

		clearTimeout(bobj.tim); bobj.clipy=0; bobj.clipTo(0,this.m[name].maxwidth,0,0);

	}else bobj.clipTo(0,this.m[name].maxwidth,this.m[name].totheight,0,1)

	bobj.moveIt(x,y); var yy=border

	for(i=0;i<this.l[l].maxnum;i++){

		var obj=this.l[l].o[i]

		if(i<ln){

			var n=this.m[name].subs[i]; obj.aname=n; if(!bw.ns4||!this.NS4hover) obj.writeIt(this.m[n].text)

			obj.addEvents(n,this.name,this.m[n].lnk,this.useclick); var w=this.m[n].width; var h=this.m[n].height

			if(obj.y!=yy) obj.moveY(yy); yy+=h+border; if(!obj.img) obj.setactive(0,n,1); 

			if(obj.width!=w||obj.height!=h) obj.clipTo(0,w,h,0,1); obj.css.visibility="inherit"

		}else obj.hideIt()

	}if(this.l[l-1].filter&&bw.filter) bobj.filterIt(this.l[l-1].filter)

	else if(this.l[l-1].clip){bobj.showIt(); bobj.clipOut(this.l[l-1].clippx,this.m[name].maxwidth,this.m[name].totheight,this.l[l-1].cliptim,name);}

	else bobj.showIt(); 

	if(!bw.ns4&&this.checkselect){ //CHECKING FOR SELECT BOXES

		for(i=0;i<this.sel.length;i++){

			selx=0; sely=0; var selp;

			if(this.sel[i].offsetParent){selp=this.sel[i]; while(selp.offsetParent){selp=selp.offsetParent; selx+=selp.offsetLeft; sely+=selp.offsetTop;}}

			selx+=this.sel[i].offsetLeft; sely+=this.sel[i].offsetTop

			selw=this.sel[i].offsetWidth; selh=this.sel[i].offsetHeight

			if(((selx+selw)>this.m[name].subx && selx<(this.m[name].subx+this.m[name].maxwidth))

			&&((sely+selh)>this.m[name].suby && sely<(this.m[name].suby+this.m[name].totheight))){

				if(this.sel[i].style.visibility!="hidden"){this.sel[i].level=l; this.sel[i].style.visibility="hidden"; this.hcode+=this.name+".sel["+i+"].style.visibility='visible';"}

			}else if(l<=this.sel[i].level) this.sel[i].style.visibility="visible"

		}

	}else if(bw.ns4&&this.hideForm){eval(this.hideForm+".visibility='hide'"); this.hcode=this.hideForm+".visibility='show'"}

}

/************

Making all top elements

*************/

function cm_makeTop(rr){

	var m,rows,border,x,y,mpa

	m=this.menuplacement; rows=this.rows; this.pxbetween=this.checkp(this.pxbetween,0,1,1)

	border=this.l[0].border;y=this.checkp(this.fromtop,0,0,1)+border;x=this.checkp(this.fromleft,0,0,1)+border

	if(m=="bottomcenter"||m=="bottom"){

		if(m=="bottomcenter") x=toppage.x2/2-(this.totwidth+border*this.l[0].num+this.pxbetween*(this.l[0].num-1))/2

		y=toppage.y2-this.maxheight-border

	}else if(m=="right") x=toppage.x2-this.maxwidth-border*2

	else if(m=="bottom") y=toppage.y2-this.maxheight-border*2

	else if(m=="center"){if(rows==0) x=toppage.x2/2 -  (this.maxwidth+border*2)/2; else x=toppage.x2/2 - (this.totwidth + border*this.l[0].num +this.pxbetween*(this.l[0].num-1))/2}

	else if(m.toString().indexOf(",")>-1) mpa=1

	if(this.usebar){ var bx,by,bww,bh,oBb

		oNS=bw.ns6?this.oNS[this.l[0].maxnum]:0

		this.oBar=new cm_makeObj('div'+this.name+'Bar',0,0,window,0,oNS)

		if(this.barx=="menu") bx=mpa&&rows?this.checkp(m[0],1,0,1)-border:x-border; else{ bx=this.checkp(this.barx,1,0,1) }

		if(this.bary=="menu") by=mpa&&!rows?this.checkp(m[0],0,0,1)-border:y-border; else by=this.checkp(this.bary,0,0,1);  this.oBar.moveIt(bx,by)

		if(this.barwidth=="menu"){bww=rows?mpa?(this.checkp(m[m.length-1],1,0,1)-bx)+this.m[this.l[0].names[this.l[0].num-1]].width+border:(this.totwidth +this.pxbetween*(this.l[0].num-1)):this.maxwidth; 

		bww+=!rows?border*2:0;}else bww=this.checkp(this.barwidth,1,0,1); 

		if(bw.ie&&rows&&this.barwidth=="100%"&&this.useframes) bww+=parseInt(self.document.body.leftMargin)*2

		if(this.barheight=="menu"){bh=!rows?mpa?(this.checkp(m[m.length-1],0,0,1)-by)+this.m[this.l[0].names[this.l[0].num-1]].height+border:(this.totheight + this.pxbetween*(this.l[0].num-1)):this.maxheight;

		bh+=rows?this.l[0].border*2:0;} else bh=this.checkp(this.barheight,0,0,1);

		this.oBar.clipTo(0,bww,bh,0,1);

		if(this.barinheritborder&&border){oBb=new cm_makeObj('div'+this.name+'Barb',0,0,window,'div'+this.name+'Bar'); 

		oBb.moveIt(border,border); oBb.clipTo(0,bww-border*2,bh-border*2,0,1); oBb=null;}

	}this.l[0].o=new Array()

	for(j=0;j<this.l[0].maxnum;j++){

		this.l[0].o[j]=new cm_makeObj('div'+this.name+'0_'+j,this,0,window,'div'+this.name+'0_'+j+'b'); if(bw.ns6) oNS=this.oNS[j]; else oNS=0

		this.l[0].o[j].oBorder=new cm_makeObj('div'+this.name+'0_'+j+'b',0,0,window,0,oNS)

		obj=this.l[0].o[j]; w=this.m[this.l[0].names[j]].width; h=this.m[this.l[0].names[j]].height

		obj.addEvents(this.l[0].names[j],this.name,this.m[this.l[0].names[j]].lnk,this.useclick); obj.clipTo(0,w,h,0,1)

		if(mpa){if(rows==1) x=this.checkp(m[j],0,1,1); else y=this.checkp(m[j],0,0,1)}

		obj.moveIt(border,border); 

		obj.setactive(0,this.l[0].names[j])

		obj.oBorder.moveIt(x-border,y-border); obj.oBorder.clipTo(0,w+border*2,h+border*2,0,1); obj.oBorder.showIt()

		if(rows==0) y+=h+border+this.pxbetween

		else x+=w+border+this.pxbetween; obj.showIt()

	}if(!rr){

		if(this.useclick) coolFMouseup+=this.name+".mmout('',1);"; if(!this.useframes&&!bw.ns4) this.refresh()

		else if(!this.useframes&&bw.ns4){l=""; if(onload){l=String(onload.toString()); l=l.replace("function onload(event)",""); l=l.slice(25,l.length-2)} l+=this.name+ ".refresh();"; onload=new Function(l)}

		if(this.resizecheck) setTimeout('window.onresize=new Function("'+this.name+'.resized()")',500)

		if(this.checkscroll){if(bw.ns4 || bw.ns6){if(this.checkscroll!=2&&this.useframes!=1){setTimeout("cm_checkScrolled("+this.name+")",200)}}}

		if(this.useframes&&!rr) this.checkFrame(0); else this.win=window

	}

}

/************

Refreshing/making all sub elements

*************/

function cm_refresh(ev){

	var border,obj,oNS,oNS2

	if(this.useframes) page=new makePageCoords(this.win,this.useframes); else page=toppage

	for(i=1;i<this.l.length;i++){

		this.l[i].o=new Array();

		border=this.l[i].border; defheight=this.checkp(this.l[i].height)

		if(bw.ns4){oNS=new Layer(this.l[i].width,this.win); oNS.zIndex=(500+i);  if(this.l[i].border) oNS.bgColor=this.l[i].bordercolor;}

		else if(bw.ns6){oNS=document.createElement("DIV"); oNS.setAttribute("style",this.ns6styleb[i]); this.win.document.body.appendChild(oNS)}

		this.l[i].oBorder=new cm_makeObj('div'+this.name+i+"b",0,0,this.win,0,oNS)

		for(j=0;j<this.l[i].maxnum;j++){

			if(bw.ns4){oNS2=new Layer(this.l[i].width,oNS);}

⌨️ 快捷键说明

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