webForumDet fria alternativet

Tips på förbättring

0 svar · 298 visningar · startad av yador

yadorMedlem sedan mars 2004455 inlägg
#1

Hejsan!
Om jag visar denna koden:

var menydata = new Array();
menydata[0] = {text: "Start", title: "Går tillbaka till startsidan!",href:"index.html"}
menydata[1] = {text: "Börja träna", title: "Om du vill börja träna tennis så kolla här.",href:"borjatrana.html"}
menydata[3] = {text: "Träningstider", title: "Våra träningstider visas på denna sida",href:"traningstider.html"}
menydata[4] = {text: "Galleri", title: "Våra bilder",href:"galleri.html"}
menydata[5] = {text: "Resultat", title: "Resultaten av matcher som har spelats",href:"resultat.html"}
menydata[6] = {text: "Aktuellt", title: "Vad som är aktuellt just nu",href:"aktuellt.html"}
menydata[7] = {text: "Kalender", title: "Vår kalender, där visas bland annat kommande matcher, tävlingar som ska vara!",href:"kalender.html",data: " style=\"margin-top:30px;\""}
menydata[8] = {text: "Om oss", title: "Lite kort histrorik om oss, när vi startade och hur många medlemmar vi har idag.",href:"omoss.html"}
menydata[9] = {text: "Kontakt", title: "Hur du kontaktar oss.",href:"kontakt.html"}

function createMeny(a,oldata,lidata)
{
	var m = "<ol" + ((oldata)?oldata:"") + ">";
	for(var i in a)
	{
		if(document.location.toString().indexOf(a[i].href) > -1){
			add = true;
				if(a[i].data)
					if(a[i].data.indexOf("style=\"")){
						a[i].data = a[i].data.replace("style=\"","style=\"color:#f00;");
						add=false;
						}
			if(add)
				a[i].data += " style=\"color:#f00;\"";
		}
		m += "<li" + ((lidata)?lidata:"") +"><a href=\"" + a[i].href + "\" title=\"" + a[i].title + "\"" + ((a[i].data)?a[i].data:"") + ">" + a[i].text + "</a></li>";
		if(a[i].submeny)
			m += createMeny(a[i].submeny,a[i].oldata,a[i].lidata);
	}
	m += "</ol>";
	return m;
}	

function getMeny()
{
	m="";
	m+= createMeny(menydata) + "<div class=\"submeny\">";
	logo = "include/images/small/logo.gif";
	m += "<a href=\"" + logo.replace("small","larger") + "\"><img src=\"" + logo + "\"></a></div>";
	return m;
}

function getWindowX()
{
	width = 0;
	if(typeof(window.innerWidth) == 'number' )
		width = window.innerWidth;
	else if(document.documentElement.clientWidth)
		width = document.documentElement.clientWidth;
	else if(document.body.clientWidth)
		width = document.body.clientWidth;
	return width;
}

function setCss() { document.getElementById("infobox").style.width = getWindowX()-190+"px"; }

var OnLoad = new Array();
var OnResize = new Array();

OnResize[0] = new Function("setCss();");
OnLoad[0] = new Function("document.getElementById(\"meny\").innerHTML = getMeny();setCss();");
OnLoad[1] = new Function("document.getElementById(\"header\").innerHTML = \"<h1>Logga här</h1>\";");

with(window){
	onresize = function()
	{
		for(var i in OnResize)
			OnResize[i]();
	}
	onload = function()
	{
		for(var i in OnLoad)
			OnLoad[i]();
	}
}

Och koden på den sidan jag vill t ex ha en undermeny:

var meny = Array();
meny[0] = {text: "Om tennis", title: "Lite information om tennis",href:"omtennis.html"}
meny[1] = {text: "Kostnad - priser", title: "Hur myket det kostar att träna hos oss.",href:"kostnad.html"}

menydata[1].lidata = "";
menydata[1].oldata = " style=\"border:1px solid #000;border-left:none;\"";
menydata[1].submeny = meny;

Kan man förbättra den på något sätt utan att behöva skriva särskilt mycket mer kod? Eller är den redan så gått som kompakt den kan vara?

Obs, säg till om jag behöver uppge mer kod.

Tack på förhand!

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