webForumDet fria alternativet

Modifiera Meny

6 svar · 343 visningar · startad av MickeA.com

MickeA.comMedlem sedan feb. 20034 528 inlägg
#1

Tja
Har ett litet problem här.
Ska göra en meny, med div. underkategorier. Har letat som en tok efter en passande, men inte hittat någon som faller i smaken.

Huvudkategorierna ska visas som bilder, eftersom jag ska använda en ovanlig font och måste därför använda mig av bilder.
Vissa av dessa ska ha underkategorier, som ska visas vid klick på "huvudlänken".

Sen kom jag att tänka på en sak, när man surfar runt i menyn och klickar på en sida, ska länken man valt ändra färg och om detta är ett val ur en underrubrik, ska denna redan vara expanderad när sidan laddats klart.

Kom på att jag kanske kunde använda ett tidigare script som jag kört på en anna sajt:

var meny=new Array(

			"Produkter",						"",
			"-Ryttare",							"",
			"--Hjälmar",						"",
			"--Skör / Stövlar",				"",
			"--Leggings / Chaps",			"",
			"--Ridbyxor",						"",
			"--Jackor / Västar",				"",
			"--Handskar",						"",
			"--Övrigt",							"",
			"-Häst",								"",
			"--Bett",								"",
			"--Sadlar",							"",
			"--Sadeltillbehör",				"",	
			"--Träns",							"",	
			"--Tränstillbehör",				"",	
			"--Grimmor / Grimskaft",	"",	
			"--Täcken",						"",	
			"--Täckestillbehör",				"",	
			"--Övrigt",							"",	
			"-Foder",							"",
			"--Red Mill's",						"",	
			"--Hippo",							"",	
			"--FiberGi",						"",	
			"--Övrigt",							"",	
			"Erbjudanden",					"",	
			"På Gång",							"",	
			"Nytt",								"",	
			"Aktuellt för Årstiden",		"",	
			"Kontakta oss",					"kontakt.htm",
			"Företaget",						"",	
			"-Personalen",					"",	
			"-Hitta till oss",					"",	
			"Länkar",							"",	
			
			"*"
);

function omeny(el){
		e=document.getElementById(el+"vis");
		i=document.getElementById(el+"img");
	if(e.style.display=="none"){
		e.style.display="";
		i.src="menypil2.gif";
	}else{
		e.style.display="none";
		i.src="menypil1.gif";
	}
}
function mradclick(p,e){
		o=document.getElementById(mradsel);
	if(o)o.className="mrad";
		e.className="mradactive";
		mradsel=e.id;
		if(p!=""){
			window.open(p,"main");
		}
	}
function mradmoo(e,o){
	if(o)e.className="mradhover";else{
		if(e.id==mradsel)e.className="mradactive";else e.className="mrad";}
	}
	var mradsel="nothing";
	l2=0;
		for(i=0;meny[i]!="*";i+=2){
			l1=l2;
				for(l2=0;meny[i+2].charAt(l2)=="-";l2++);
					if(l2>l1){
						document.write(		"<div class='mrad' id='grupp"+i+"' onclick='omeny(&quot;grupp"+i+"&quot;)' style='padding-left: 5px;'>" + 
													"<table border='0' cellspacing='0' cellpadding='0' class='mrad'>"+
													"<tr onmouseover='mradmoo(this,true)' onmouseout='mradmoo(this,false)'>" + 
													"<td>"+meny[i].substr(l1)+"&nbsp;</td>" +
													"<td><img id='grupp"+i+"img' border='0' src='menypil1.gif'></td>" + 
													"</tr>" + 
													"</table>" + 
													"</div>");
						document.write(		"<div id='grupp"+i+"vis' style='display:none;position:relative;left:12px'>");
					}else{
						document.write(		"<div class='mrad' onclick='mradclick(&quot;"+meny[i+1]+"&quot;,this)' " + 
													"id='grupp"+i+"' onmouseover='mradmoo(this,true)' onmouseout='mradmoo(this,false)' style='padding-left: 5px;'>"+meny[i].substr(l1)+"</div>");
						for(j=l1;j>l2;j--)
							document.write("</div>");
					}
}

Den där funkar bra, sålänge man använder frames, men laddas sidan om, "nollställs" menyn, vilket inte alls är bra. Vidare vet jag inte hur jag ska göra för att få huvudlänkarna som bilder.

Är det någon som är haj på JS (tillskillnad mot mig) och kan hjälpa mig med det här, eller är är det någon som har ett förslag på en färdig meny (som motsvarar mina önskemål) som jag istället kan använda?

Tack på förhand!

JojoxxMedlem sedan juni 20004 306 inlägg
#2

Ett alternativ.

Sätt variabeln findCurrentPage i början av scriptet till true för att aktuell sida skall hittas i menyn och bläddras fram. Du kan ävan byta ut länktexterna mot bilder om du vill.

MickeA.comMedlem sedan feb. 20034 528 inlägg
#3

Oj, har redan kollat på den, men jag inte tänkt på att det fanns sådana finesser!

Ska kolla lite mer sen, återkommer!

MickeA.comMedlem sedan feb. 20034 528 inlägg
#4

Jojoxx skrev:

Du kan ävan byta ut länktexterna mot bilder om du vill.

Är det möjligt att byta ut + / - mot två bilder?

Tänkte då att bilden ändras om undermenyn är expanderad eller inte.

Möjligt?

/r
Är det även möjligt att klämma in ett av dina "meny med bildväxling"?
Vet inte hundra just nu hur sidan kommer att se ut, inte jag som gör designbiten, men förmodligen kommer det blir så att vald länk (bild) ska bytas mot en i annan färg när man tryckt på denna.

/r2

jojoxx skrev:

Sätt variabeln findCurrentPage i början av scriptet till true för att aktuell sida skall hittas i menyn och bläddras fram.

Jag har satt värdet till true, men jag tror vi missuppfattade varann där.
Menydelen infogas i default.asp och ska alltså leta fram värdet efter att jag tryckt på en länk och sidan laddats om.

Skulle alltså behöva skicka med ett värde i en querystring el. likn. och därmed visa "rätt" del av menyn.

Eller finns det bättre sätt?

JojoxxMedlem sedan juni 20004 306 inlägg
#5

Ang. querystring. Scriptet var redan förberett för det, men saknade switch att använda det. Jag har uppdaterat exemplet nu och lagt in en variabel som heter stripQuerystring som du kan sätta till false för att förhindra att ev. querystring tas bort när aktuell länk skall letas på.

Jag håller på att tapetsera om på kontoret så jag har "kontoret" i köket, men jag kanske kan titta på bild-biten lite senare :)

MickeA.comMedlem sedan feb. 20034 528 inlägg
#6

Jojoxx skrev:

Jag håller på att tapetsera om på kontoret så jag har "kontoret" i köket, men jag kanske kan titta på bild-biten lite senare :)

Jasså du, så du tapetserar själv ;)
Själv har jag en målare i min nya lya, som fixar allt, inflyttning sker Tisdag.

Tack för all hjälp hittills, ser fram emot "bild-biten" ;)

MickeA.comMedlem sedan feb. 20034 528 inlägg
#7

Nu funkar det skitbra med omladdningen av scriptet, tackar! Ser fram emot bildväxlingen ;)

Genererad på 380 ms · cache AV · v20260730165559-full.f96bc7eb