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

📄 menu10_com.js

📁 HOW TO Communicate with PDA by IrDA.
💻 JS
📖 第 1 页 / 共 2 页
字号:
/***********************************************
*	(c) Ger Versluis 2000 version 10.71 8 May 2004    *
*	You may use this script on non commercial sites.	          *
*	www.burmees.nl/menu			          *
************************************************/

if(document.getElementById){
	var 	AgntUsr=navigator.userAgent.toLowerCase(),
		AppVer=navigator.appVersion.toLowerCase(),
		Opr7=AgntUsr.indexOf("opera 7")!=-1||AgntUsr.indexOf("opera/7")!=-1?true:false;
	if((AgntUsr.indexOf("opera")==-1||Opr7)){
		var	NavYes=((AgntUsr.indexOf("mozilla")!=-1&&AgntUsr.indexOf("compatible")==-1)||Opr7)?true:false,
			ExpYes=(AgntUsr.indexOf("msie")!=-1&&!Opr7)?	true:false;
		if(MenuUsesFrames&&!parent.frames[0])MenuUsesFrames=0;
		var 	Exp6Plus=((AppVer.indexOf("msie 6")!=-1||AppVer.indexOf("msie 7")!=-1)&&!Opr7)?true:false,
			MacExp5=(AppVer.indexOf("mac")!=-1&&AppVer.indexOf("msie 5")!=-1)?true:false,
			FLoc,ScLoc,DcLoc,SLdAgnWin,FWinH,FColW,SColW,DColW,
			SWinW,SWinH,FWinW,
			RLvl=0,FntFc=1,StaticPos=0,Ztop=100,
			FrstCreat=true,Ldd=false,Crtd=false,FCmplnt=false,SCmplnt=false,M_Clckd=false,IniFlg=false,ShwFlg=false,AcrssFrms=true,
			FrstCntnr=null,CurOvr=null,FHtml=null,ScHtml=null,CloseTmr=null,OpnTmr=null,RmbrNow=null,
			FStr="",M_Hide="hidden",M_Show="visible",P_X="px",
			M_StrtTp=StartTop,M_StrtLft=StartLeft,
			Par=MenuUsesFrames?parent:window,Doc=Par.document,Bod=Doc.body,Trigger=NavYes?Par:Bod,
			Nav_Op=NavYes&&AgntUsr.indexOf("gecko/")!=-1&&parseInt(AgntUsr.substring(AgntUsr.indexOf("gecko/")+6,AgntUsr.indexOf("gecko/")+12))>=200303?true:false,
			InitLdd,LdTmr=setInterval("ChckInitLd()",100)}}

function ChckInitLd(){
	InitLdd=ExpYes?
		MenuUsesFrames?
			Par.frames[FirstLineFrame].document.readyState=="complete"&&Par.frames[SecLineFrame].document.readyState=="complete"?1:0:
			Par.document.readyState=="complete"?1:0:
		MenuUsesFrames?
			Par.frames[FirstLineFrame].document.body&&Par.frames[SecLineFrame].document.body?1:0:
			Par.document.body?1:0;
	if(InitLdd)	{
		clearInterval(LdTmr);
		Go()}}

function CnclSlct(){
	return false}

function RePos(){
	FWinW=ExpYes?FCmplnt?FHtml.clientWidth:FLoc.document.body.clientWidth:FLoc.innerWidth;
	FWinH=ExpYes?FCmplnt?FHtml.clientHeight:FLoc.document.body.clientHeight:FLoc.innerHeight;
	SWinW=ExpYes?SCmplnt?ScHtml.clientWidth:ScLoc.document.body.clientWidth:ScLoc.innerWidth;
	SWinH=ExpYes?SCmplnt?ScHtml.clientHeight:ScLoc.document.body.clientHeight:ScLoc.innerHeight;
	if(MenuCentered.indexOf("justify")!=-1&&FirstLineHorizontal){
		ClcJus();
		var P=FrstCntnr.FrstMbr,W=Menu1[5],	a=BorderBtwnMain?NoOffFirstLineMenus+1:2,i,
			LftXtra=(NavYes&&!Opr7)||MacExp5||FCmplnt?LeftPaddng:0;
		FrstCntnr.style.width=NoOffFirstLineMenus*W*FntFc+a*BorderWidthMain+P_X;
		for(i=0;i<NoOffFirstLineMenus;i++){
			P.style.width=W*FntFc-(P.value.indexOf("<")==-1?LftXtra:0)+P_X;
			if(P.ai&&!RightToLeft)P.ai.style.left=BottomUp?W-Arrws[10]-2+P_X:W-Arrws[4]-2+P_X;
			P=P.PrvMbr}}
	StaticPos=-1;
	ClcRl();
	if(TargetLoc)ClcTrgt();
	ClcLft();
	ClcTp();
	PosMenu(FrstCntnr,StartTop,StartLeft);
	if(RememberStatus)StMnu()}

function UnLdd(){
	Ldd=Crtd=false;
	SetMenu="0";
	var M=FrstCntnr?FrstCntnr.FrstMbr:null;
	if(ExpYes){
		while(M!=null){
			if(M.CCn)	{
				MakeNull(M.CCn);
				M.CCn=null}
			M=M.PrvMbr}}
	LdTmr=setInterval("ChckLdd()",100)}

function UnLddTotal(){
		MakeNull(FrstCntnr);
		FrstCntnr=RmbrNow=FLoc=ScLoc=DcLoc=SLdAgnWin=CurOvr=CloseTmr=Doc=Bod=Trigger=null}

function MakeNull(P){
	var M=P.FrstMbr,Mi;
	while(M!=null){
		Mi=M;
		if(M.CCn)	{
			MakeNull(M.CCn);
			M.CCn=null}
		M=M.PrvMbr;
		Mi.PrvMbr=null;
		Mi=null}
	P.FrstMbr=null}

function ChckLdd(){
	if(!ExpYes){
		if(ScLoc.document.body){
			clearInterval(LdTmr);
			Go()}}
	else if(ScLoc.document.readyState=="complete"){
		if(LdTmr)	clearInterval(LdTmr);
		Go()}}

function Go(){
	if(!Ldd){	
		Crtd=false;
		Ldd=true;
		BeforeStart();
		if(ScaleMenu){
			if(document.defaultView&&document.defaultView.getComputedStyle)
				FntFc=parseInt(document.defaultView.getComputedStyle(document.body,'').getPropertyValue("font-size"))/16;
			else if(ExpYes&&document.body.currentStyle)
				FntFc=parseInt(document.body.currentStyle.fontSize)/12}
		status="Building menu";
		FLoc=MenuUsesFrames?parent.frames[FirstLineFrame]:window;
		ScLoc=MenuUsesFrames?parent.frames[SecLineFrame]:window;
		DcLoc=MenuUsesFrames?parent.frames[DocTargetFrame]:window;
		if(MenuUsesFrames){
			if(!FLoc)FLoc=window;
			if(!ScLoc)ScLoc=window;
			if(!DcLoc)DcLoc=window}
		if(FLoc==ScLoc)AcrssFrms=false;
		if(AcrssFrms)FirstLineHorizontal=MenuFramesVertical?0:FirstLineHorizontal?FirstLineHorizontal:1;
		if(Exp6Plus||Opr7){
			FHtml=FLoc.document.getElementsByTagName("HTML")[0];
			ScHtml=ScLoc.document.getElementsByTagName("HTML")[0];
			FCmplnt=FLoc.document.compatMode.indexOf("CSS")==-1?false:true;
			SCmplnt=ScLoc.document.compatMode.indexOf("CSS")==-1?false:true}
		FWinW=ExpYes?FCmplnt?FHtml.clientWidth:FLoc.document.body.clientWidth:FLoc.innerWidth;
		FWinH=ExpYes?FCmplnt?FHtml.clientHeight:FLoc.document.body.clientHeight:FLoc.innerHeight;
		SWinW=ExpYes?SCmplnt?ScHtml.clientWidth:ScLoc.document.body.clientWidth:ScLoc.innerWidth;
		SWinH=ExpYes?SCmplnt?ScHtml.clientHeight:ScLoc.document.body.clientHeight:ScLoc.innerHeight;
		FColW=FLoc.document.body;
		SColW=ScLoc.document.body;
		DColW=ScLoc.document.body;
		if(TakeOverBgColor)FColW.style.backgroundColor=AcrssFrms?SColW.bgColor:DColW.bgColor;
		if(MenuCentered.indexOf("justify")!=-1&&FirstLineHorizontal)ClcJus();
		if(FrstCreat||FLoc==ScLoc)FrstCntnr=CreateMenuStructure("Menu",NoOffFirstLineMenus,null);
		else CreateMenuStructureAgain("Menu",NoOffFirstLineMenus);
		ClcRl();
		if(TargetLoc)ClcTrgt();
		ClcLft();
		ClcTp();
		PosMenu(FrstCntnr,StartTop,StartLeft);
		Crtd=true;
		SLdAgnWin=ExpYes?ScLoc.document.body:ScLoc;
		SLdAgnWin.onunload=UnLdd;
		if(ExpYes)Trigger.onunload=UnLddTotal;
		Trigger.onresize=RePos;
		AfterBuild();
		if(RememberStatus)StMnu();
		FrstCreat=false;
		if(MenuVerticalCentered=="static"&&!AcrssFrms)setInterval("KeepPos()",250);
		if(!ExpYes)RePos();
		IniFlg=true;
		Initiate();
		status="Menu ready for use"}}

function KeepPos(){
	var TS=ExpYes?SCmplnt?ScHtml.scrollTop:ScLoc.document.body.scrollTop:ScLoc.pageYOffset;
	if(TS!=StaticPos){
		FrstCntnr.OrgTop=StartTop+TS;
		FrstCntnr.style.top=FrstCntnr.OrgTop+P_X;
		StaticPos=TS}}

function ClcRl(){
	StartTop=M_StrtTp<1&&M_StrtTp>0?M_StrtTp*FWinH:M_StrtTp;
	StartLeft=M_StrtLft<1&&M_StrtLft>0?M_StrtLft*FWinW:M_StrtLft}

function ClcJus(){
	var a=BorderBtwnMain?NoOffFirstLineMenus+1:2,
		Sz=Math.round((PartOfWindow*FWinW-a*BorderWidthMain)/NoOffFirstLineMenus),i,j;
	for(i=1;i<NoOffFirstLineMenus+1;i++){
		j=eval("Menu"+i);
		j[5]=Sz}
	StartLeft=0}

function ClcTrgt(){
	var TLoc=FLoc.document.getElementById(TargetLoc);
	while(TLoc){
		StartTop+=TLoc.offsetTop;
		StartLeft+=TLoc.offsetLeft;
		TLoc=TLoc.offsetParent}}

function ClcLft(){
	if(MenuCentered.indexOf("left")==-1){
		var Sz=FWinW-parseInt(FrstCntnr.style.width);
		StartLeft+=MenuCentered.indexOf("right")!=-1?Sz:Sz/2;
		if(StartLeft<0)StartLeft=0}}

function ClcTp(){
	if(MenuVerticalCentered!="top"&&MenuVerticalCentered!="static"){
		var Sz=FWinH-parseInt(FrstCntnr.style.height);
		StartTop+=MenuVerticalCentered=="bottom"?Sz:Sz/2;
		if(StartTop<0)StartTop=0}}

function PosMenu(Ct,Tp,Lt){
	RLvl++;
	var Cmplnt=RLvl==1?FCmplnt:SCmplnt,
		LftXtra=(NavYes&&!Opr7)||MacExp5||Cmplnt?LeftPaddng:0,
		TpXtra=(NavYes&&!Opr7)||MacExp5||Cmplnt?TopPaddng:0,
		Mb=Ct.FrstMbr,CStl=Ct.style,MStl=Mb.style,
		PadL=Mb.value.indexOf("<")==-1?LftXtra:0,
		PadT=Mb.value.indexOf("<")==-1?TpXtra:0,
		MWt=parseInt(MStl.width)+PadL,
		MHt=parseInt(MStl.height)+PadT,
		CWt=parseInt(CStl.width),
		CHt=parseInt(CStl.height),
		CCw,CCh,STp,SLt,Ti,Li,Hi,
		BRW=RLvl==1?BorderWidthMain:BorderWidthSub,
		BTWn=RLvl==1?BorderBtwnMain:BorderBtwnSub;
	if(RLvl==1&&AcrssFrms)
		!MenuFramesVertical?Tp=BottomUp?DistFrmFrameBrdr:FWinH-CHt-DistFrmFrameBrdr:
			Lt=RightToLeft?DistFrmFrameBrdr:FWinW-CWt-DistFrmFrameBrdr;
	if(RLvl==2&&AcrssFrms)
		!MenuFramesVertical?Tp=BottomUp?SWinH-CHt:0:Lt=RightToLeft?SWinW-CWt:0;
	if(RLvl==2){
		Tp+=VerCorrect;
		Lt+=HorCorrect}
	CStl.top=RLvl==1?Tp+P_X:0;
	Ct.OrgTop=Tp;
	CStl.left=RLvl==1?Lt+P_X:0;
	Ct.OrgLeft=Lt;
	if(RLvl<=FirstLineHorizontal){
		Hi=1;
		Li=CWt-MWt-2*BRW;
		Ti=0}
	else{	Hi=Li=0;
		Ti=CHt-MHt-2*BRW}
	while(Mb!=null){
		MStl.left=Li+BRW+P_X;
		MStl.top=Ti+BRW+P_X;
		if(Mb.CCn){
			if(RightToLeft)CCw=parseInt(Mb.CCn.style.width);
			if(BottomUp)CCh=parseInt(Mb.CCn.style.height);
			if(Hi){	STp=BottomUp?
				Ti-CCh:Ti+MHt+2*BRW;
				SLt=RightToLeft?Li+MWt-CCw:Li}
			else{	SLt=RightToLeft?Li-CCw+ChildOverlap*MWt+BRW:Li+(1-ChildOverlap)*MWt+BRW;
				STp=RLvl==1&&AcrssFrms?
					BottomUp?Ti-CCh+MHt:Ti:
					BottomUp?Ti-CCh+(1-ChildVerticalOverlap)*MHt+2*BRW:Ti+ChildVerticalOverlap*MHt}
			PosMenu(Mb.CCn,STp,SLt)}
		Mb=Mb.PrvMbr;
		if(Mb){	MStl=Mb.style;
			PadL=Mb.value.indexOf("<")==-1?LftXtra:0;
			PadT=Mb.value.indexOf("<")==-1?TpXtra:0;
			MWt=parseInt(MStl.width)+PadL;
			MHt=parseInt(MStl.height)+PadT;
			Hi?Li-=BTWn?(MWt+BRW):(MWt):Ti-=BTWn?(MHt+BRW):MHt}}
	RLvl--}

function StMnu(){
	if(Crtd){
		var i,Pntr=FrstCntnr,Str=ScLoc.SetMenu?ScLoc.SetMenu:"0";
		while(Str.indexOf("_")!=-1&&RememberStatus==1){
			i=Pntr.NrItms-parseInt(Str.substring(0,Str.indexOf("_")));
			Str=Str.slice(Str.indexOf("_")+1);
			Pntr=Pntr.FrstMbr;
			for(i;i;i--)	Pntr=Pntr.PrvMbr;
			Pntr.OM();
			Pntr=Pntr.CCn}
		i=Pntr.NrItms-parseInt(Str);
		Pntr=Pntr.FrstMbr;
		for(i;i;i--)	Pntr=Pntr.PrvMbr;
		if(RmbrNow!=null){
			SetItem(RmbrNow,0);
			RmbrNow.Clckd=0}
		if(Pntr!=null){
			SetItem(Pntr,1);
			Pntr.Clckd=1;
			if(RememberStatus==1)Pntr.OM()}
		RmbrNow=Pntr;
		ClrAllChlds(FrstCntnr.FrstMbr);
		Rmbr(FrstCntnr)}}

function Initiate(){
	if(IniFlg&&Ldd){
		Init(FrstCntnr);
		IniFlg=false;
		if(RememberStatus)Rmbr(FrstCntnr);
		if(ShwFlg)AfterCloseAll();
		ShwFlg=false;
		M_Clckd=false}}

function Rmbr(CntPtr){
	var Mbr=CntPtr.FrstMbr,St;
	while(Mbr!=null){
		if(Mbr.DoRmbr){
			HiliteItem(Mbr);
			if(Mbr.CCn&&RememberStatus==1){
				St=Mbr.CCn.style;
				St.visibility=M_Show;
				Rmbr(Mbr.CCn)}
			break}
		else Mbr=Mbr.PrvMbr}}

function Init(CPt){
	var Mb=CPt.FrstMbr,MCSt=CPt.style;
	RLvl++;
	MCSt.visibility=RLvl==1?M_Show:M_Hide;
	CPt.Shw=RLvl==1?1:0;
	while(Mb!=null){
		if(Mb.Hilite)LowItem(Mb);
		if(Mb.CCn)Init(Mb.CCn);
		Mb=Mb.PrvMbr}
	RLvl--}

function ClrAllChlds(Pt){
	var PSt,Pc;
	while(Pt){
		if(Pt.Hilite){
			Pc=Pt;
			if(Pc!=CurOvr)LowItem(Pt);

⌨️ 快捷键说明

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