webForumDet fria alternativet

Meny Hjälp

2 svar · 207 visningar · startad av mackz

mackzMedlem sedan mars 200426 inlägg
#1

Hej. Jag är helt ny på det här och har en meny (flytande) på min sida. Den viker ut sig när man lägger musen på första rubriken men vill ha den så att man måste klicka innan den kommer ner. Tycker det kan vara svårt ibland som den är och man kan då klicka fel.

Hoppas på lite hjälp.. Så här ser det ut mvh Mackz :-)

<SCRIPT LANGUAGE="javascript">
<!--This is one of many scripts which are available at:     *---

placeringX=180;
placeringY=0;

menyernasHojd=20;
menyernasBredd=160;

varjeLanksHojd=17;

menyernasNamn="meny";
underMenyernasNamn="undermeny";

bildKatalog="";
bildKatalogHojd=0;
bildKatalogBredd=0;

bildSida="";
bildSidaHojd=0;
bildSidaBredd=0;

menyTarget="_self";	//"_top", "_self", "_blank", "framensNamn" kan anges.

typ=0;	//Om detta är -1 kommer undermenyerna ut på vänster sida, är det 0 kommer de ut underifrån, och är det 1 kommer de på höger sida
typ2=0;	//Om detta är 1 är alla undermenyerna är lika långa, om det är 0 är menyerna lika långa som antalet länkar i menyn

rubrikFarg1="#cccccc";
rubrikFarg2="#dddddd";
menyerFarg="#aaaaaa";

menyerFargMedMus="gray";

rubriker=new Array("Om oss","Vänner","Bilder","Mat","Övriga länkar");

meny1rubriker=new Array("Vår policy",	"Företaget");
meny1lankar=new Array(	"policy.html",	"foretag.html");

meny2rubriker=new Array("Kalle Anka",	"Musse Pigg");
meny2lankar=new Array(	"kalle.html",	"musse.html");

meny3rubriker=new Array("Paris",		"Kungen",	"Stockholm");
meny3lankar=new Array(	"paris.gif",	"king.gif",	"stockholm.jpg");

meny4rubriker=new Array("Kykling",		"Kalkon",		"Tomat",		"Ris",	"Pasta",		"Bröd");
meny4lankar=new Array(	"kykling.html",	"kalkon.html",	"tomat.html",	"ris.html",	"pasta.html",	"brod.html");

meny5rubriker=new Array("Altavista",		"Microsoft",		"Netscape");
meny5lankar=new Array(  "http://www.av.com/",	"http://www.msn.com/",	"http://www.netscape.com/");

varningFrameSaknas="Framen '"+menyTarget+"' hittas inte av scriptet.\nKontrollera stavningen av '"+menyTarget+"' och se till så att du inte använder dig av frames i frames.\nScriptet klarar inte av frames i frames.\nInga garantier ges för att scriptet kommer att fungera som det ska nu!\nTrolig åtgärd som löser problemet: Ändra värdet på variabeln 'menyTarget' i scriptet.\nÄndra värdet till ett framenamn som finns eller till t.ex. '_self'"

function placera(lager,ner,hoger)		//Placerar ett lager exakt på ett ställe
{
	if (document.all)
	{
		document.all[lager].style.pixelLeft=hoger;
		document.all[lager].style.pixelTop=ner;
	}
	else if (document.layers)
	{
		document.layers[lager].left=hoger;
		document.layers[lager].top=ner;
	}
	else if (document.getElementById)
	{
		document.getElementById(lager).style.left=hoger;
		document.getElementById(lager).style.top=ner;
	}
}

function dolj(lager)				//Gör ett lager osynligt
{
	if (document.all)
	{
		document.all[lager].style.visibility="hidden";
	}
	else if (document.layers)
	{
		document.layers[lager].visibility="hidden";
	}
	else if (document.getElementById)
	{
		document.getElementById(lager).style.visibility="hidden";
	}
}

function visa(lager)				//Visar ett lager
{
	if (document.all)
	{
		document.all[lager].style.visibility="visible";
	}
	else if (document.layers)
	{
		document.layers[lager].visibility="visible";
	}
	else if (document.getElementById)
	{
		document.getElementById(lager).style.visibility="visible";
	}
}

function placeraUtMenyerOchVisaDem()
{
	for (i=0; i<antalMenyer; i++)
	{
	placera(menyernasNamn+(i+1), menyernasHojd*i+placeringY, placeringX);
	visa(menyernasNamn+(i+1));
	}
}

function lagretsHojd(lager)
{
	if (document.all)
	{
		return parseInt(document.all[lager].style.height);
	}
	else if (document.layers)
	{
		return parseInt(document.layers[lager].height);
	}
	else if (document.getElementById)
	{
		return parseInt(document.getElementById(lager).style.height);
	}
}

function visaUndermeny(lagerIndex)
{
doljaAllaUndermenyer()
	for (i=0; i<lagerIndex; i++)
	{
	placera(menyernasNamn+(i+1), menyernasHojd*i+placeringY, placeringX);
	}

	visa(underMenyernasNamn+lagerIndex);
	placera(underMenyernasNamn+lagerIndex, placeringY+menyernasHojd*i*(!typ), placeringX+menyernasBredd*(typ));

	for (i=lagerIndex; i<antalMenyer; i++)
	{
	placera(menyernasNamn+(i+1), placeringY+menyernasHojd*i+lagretsHojd(underMenyernasNamn+lagerIndex)*(!typ), placeringX);
	}
}

function initieraLagrensAttribut()
{
	for (i=0; i<antalMenyer; i++)
	{
antalUndermenyer=eval("meny"+(i+1)+"rubriker.length")
		if (document.all)
		{
			document.all[underMenyernasNamn+(i+1)].style.height=antalUndermenyer*varjeLanksHojd*(!typ2)+maxAntalLankar*varjeLanksHojd*(typ2);
			document.all[underMenyernasNamn+(i+1)].style.width=menyernasBredd;
		}
		else if (document.layers)
		{
			document.layers[underMenyernasNamn+(i+1)].height=antalUndermenyer*varjeLanksHojd*(!typ2)+maxAntalLankar*varjeLanksHojd*(typ2);
			document.layers[underMenyernasNamn+(i+1)].width=menyernasBredd;
		}
		else if (document.getElementById)
		{
			document.getElementById(underMenyernasNamn+(i+1)).style.height=antalUndermenyer*varjeLanksHojd*(!typ2)+maxAntalLankar*varjeLanksHojd*(typ2);
			document.getElementById(underMenyernasNamn+(i+1)).style.width=menyernasBredd;
		}
	}
}

function doljaAllaUndermenyer()
{
	for (i=0; i<antalMenyer; i++)
	{
	dolj(underMenyernasNamn+(i+1));
	}
}

function rubrikFargVarannan()
{
	if (varannanFarg)
	{
	varannanFarg=0;
	return rubrikFarg1;
	}
	else
	{
	varannanFarg=1;
	return rubrikFarg2;
	}
}

function skrivUtMenyer()
{
	for (i=1; i<=antalMenyer; i++)
	{
	skrivUtDetta="";
	skrivUtDetta+=("<DIV ID='"+menyernasNamn+""+i+"' onMouseOver=\"visaUndermeny("+i+")\">")
	skrivUtDetta+=("<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=\""+menyernasBredd+"\" HEIGHT=\""+menyernasHojd+"\" BGCOLOR=\""+rubrikFargVarannan()+"\">");
	skrivUtDetta+=("<TR><TD><A HREF=\"javascript:void(0)\" onMouseOver=\"visaUndermeny("+i+")\" CLASS='menyRubrikClass'><IMG SRC='"+bildKatalog+"' BORDER=0 HEIGHT="+bildKatalogHojd+" WIDTH="+bildKatalogBredd+" VSPACE=0 HSPACE=0> "+rubriker[i-1]+"</A></TD></TR>");
	skrivUtDetta+=("</TABLE></DIV>")

	skrivUtDetta+=("<DIV ID='"+underMenyernasNamn+""+i+"'>")
	skrivUtDetta+=("<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=\""+menyernasBredd+"\" BGCOLOR=\""+menyerFarg+"\">");
		antalUndermenyer=eval("meny"+i+"rubriker.length")
		for (j=0; j<antalUndermenyer; j++)
		{
		skrivUtDetta+=("<TR><TD HEIGHT='"+varjeLanksHojd+"' "+styleForTDelement+" onClick=\""+geTargetKod('javascript', eval("meny"+i+"lankar["+j+"]"))+"\" onMouseOver=\"this.style.backgroundColor='"+menyerFargMedMus+"'\" onMouseOut=\"this.style.backgroundColor=''\"><A HREF=\""+eval("meny"+i+"lankar["+j+"]")+"\" TARGET=\""+geTargetKod('lank')+"\" CLASS='menyLankClass'><IMG SRC='"+bildSida+"' BORDER=0 HEIGHT="+bildSidaHojd+" WIDTH="+bildSidaBredd+" VSPACE=0 HSPACE=0> "+eval("meny"+i+"rubriker["+j+"]")+"</A></TD></TR>")
		}
		for (j; j<maxAntalLankar && typ2; j++)
		{
		skrivUtDetta+=("<TR><TD HEIGHT='"+varjeLanksHojd+"'><FONT SIZE='-2'>&nbsp;</FONT></TD></TR>")
		}
	skrivUtDetta+=("</TABLE></DIV>")
	document.write(skrivUtDetta);
	}
}

function initieraNodvandigaVariabler()
{
	antalMenyer=rubriker.length;

	maxAntalLankar=0;
	for (i=1; i<=antalMenyer; i++)
	{
		antalUndermenyer=eval("meny"+i+"rubriker.length")
		if (antalUndermenyer>maxAntalLankar)
		{
		maxAntalLankar=antalUndermenyer;
		}
	}

	styleForTDelement="";
	if (document.all)
	{
	styleForTDelement="STYLE=\"cursor: hand\"";
	}
	varannanFarg=0;

	if (menyTarget == "")
	{
	menyTarget="_self"
	}
}

function oppnaFonster(URL)
{
	open(URL, 'theNewWindow');
}

function geTargetKod(typ, URL)
{
	if (typ == "lank")
	{
		if (menyTarget == "_blank")
		{
		return "theNewWindow"
		}
		else
		{
		return menyTarget;
		}
	}
	else
	{
		if (menyTarget == "_top")
		{
		return "top.location.href='"+URL+"'"
		}
		else if (menyTarget == "_self")
		{
		return "self.location.href='"+URL+"'"
		}
		else if (menyTarget == "_blank")
		{
		return "oppnaFonster('"+URL+"');"
		}
		else if ((typeof(eval("parent."+menyTarget))+"").toLowerCase().indexOf("object") != -1)	//Om framen (vars namn finns i menyTarget) finns, så...
		{
		return "parent."+menyTarget+".location.href='"+URL+"'"
		}
		else if (varningFrameSaknas.length>0)
		{
		alert(varningFrameSaknas)
		varningFrameSaknas="";	//Så visas inte felet mer än en gång
		}
	}
}

initieraNodvandigaVariabler();
skrivUtMenyer();
initieraLagrensAttribut();
placeraUtMenyerOchVisaDem();
//-->
</SCRIPT>
Jesper TMedlem sedan nov. 20017 144 inlägg
#2

Välkommen till WF!
Den där koden visar ju ingenting...

mackzMedlem sedan mars 200426 inlägg
#3

Tack Jesper.

Det finns en grå txt ovanför.. Den ser ut så här. Den ligger mellan <head> & </head>
___________________________________________

<STYLE TYPE="text/css">
<!--
/* Don't remove this line: Script by Omid Rouhani from JavaScript.nu */
/*
För varje meny ska du ha en "menyX-rad" och en "undermenyX-rad" i detta format:
#meny1 {position:absolute; visibility:hidden;}
#undermeny1 {position:absolute; visibility:hidden;}

Exempel:
* Ska du ha tre menyer, ändra inget nedan.
* Ska du bara ha två menyer, ta bort raderna nedan som börjar på #meny3 och #undermeny3.
* Ska du ha fyra menyer lägger du till två rader som börjar med #meny4 och #undermeny4.
* etc.
*/

#meny1 {position:absolute; visibility:hidden; z-index:10;}
#undermeny1 {position:absolute; visibility:hidden; background-color:#FFFFFF; z-index:10;}

#meny2 {position:absolute; visibility:hidden; z-index:10;}
#undermeny2 {position:absolute; visibility:hidden; background-color:#FFFFFF; z-index:10;}

#meny3 {position:absolute; visibility:hidden; z-index:10;}
#undermeny3 {position:absolute; visibility:hidden; background-color:#FFFFFF; z-index:10;}

#meny4 {position:absolute; visibility:hidden; z-index:10;}
#undermeny4 {position:absolute; visibility:hidden; background-color:#FFFFFF; z-index:10;}

#meny5 {position:absolute; visibility:hidden; z-index:10;}
#undermeny5 {position:absolute; visibility:hidden; background-color:#FFFFFF; z-index:10;}

/* Nedan väljer du hur rubrikerna och länkarna ska se ut: */
.menyRubrikClass {font-family:verdana,arial; text-decoration:none; font-weight:bold; color:white; cursor:default; font-size:12px}
A:visited:hover.menyRubrikClass {color:gold;}
A:visited.menyRubrikClass {color:white;}
A:hover.menyRubrikClass {color:gold;}
A.menyRubrikClass {color:black;}

.menyLankClass {font-family:verdana,arial; text-decoration:none; color:white; font-size:12px}
A:visited.menyLankClass {color:white;}
A:hover.menyLankClass {color:gold;}
//-->
</STYLE>
____________________________________________________

137 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)