webForumDet fria alternativet

Problem med meny

7 svar · 385 visningar · startad av Type

TypeMedlem sedan mars 20021 340 inlägg
#1

Hej!
Jag trodde jag hade kommit på den ultimata menyn (:)) men så va ej fallet :(

Eller är det?
Det är en meny skapad mha javascript som visar undermeny när man klickar på den... Funkar bra så länge man inte trycker på någon undermeny, när detta görs kastas man ju vidare till en sida, men när man kommer till den sidan ska man ju visa undermenyn fortfarande... Detta löste jag med en onload på body som visar undermenyn. Tyvärr så laddas den ju inte förrän hela sidan är laddad o det syns att den kommer senare...

Finns det något bättre sätt att lösa det? Jag försöker undvika php för att kunna hittas av sökmotorer.. annars skulle man kanske kunna använda det...
Här är koden:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
	   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--
	Denna sida är gjord av Erik Sigvardsson
	[url]http://erik.sigvardsson.com[/url]
-->
<?
if (isset($_GET['show']))		
	$show=$_GET['show'];
else
	$show="";
?>
<html>
	<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
		<meta name="Description" content="Välkommen in till Kroppsverkstan" />
		<meta name="Author" content="Erik Sigvardsson" />
		<meta name="KeyWords" content="kroppsverkstan, gävleborgs län, gävleborg, friskvård, massagekurser, utbildning" />
		<title>Kroppsverkstan</title>
		<link rel="stylesheet" href="stilmall.css" type="text/css"/>
		<script language="javascript">
var lastmenu=false;
function changeStyle(Id,Property,Value){
	if (document.all){
		eval('document.all[Id].style.'+Property+'="'+Value+'"');
	} else if (document.layers){
		eval('document.layers[Id].'+Property+'="'+Value+'"');
	} else if (document.getElementById){
		eval('document.getElementById(Id).style.'+Property+'="'+Value+'"');
	}
}
function clickMenu(mnu){
	if(mnu==lastmenu){
		changeStyle(mnu,'display','none'); lastmenu=false;
	} else {
		if(lastmenu){ changeStyle(lastmenu,'display','none'); }
		changeStyle(mnu,'display','inline');
		lastmenu=mnu;
	}
}

</script>
	</head>
	<body onLoad="clickMenu('m1');return false;">
	<div id="menu">
	<div class="topmenu">MENY</div>
	<p class="menu"><a href="#" onClick="clickMenu('m1');return false;">Kroppsverkstan</a></p>
	<div id="m1" class="menuhidden">
		<p class="undermenu"><a href="fskattesedel.php">F-skattesedel</a></p>
		<p class="undermenu"><a href="verksamhet.php">Verksamhetsbitar</a></p>
	</div>
	<p class="menu"><a href="migsjalv.php">Mig själv</a></p>
	<p class="menu"><a href="#" onClick="clickMenu('m2');return false;">Massagekurser</a></p>
	<div id="m2" class="menuhidden">
		<p class="undermenu"><a href="aktuellakurser.php">Aktuella kurser</a></p>
		<p class="undermenu"><a href="beskrivning.php">Beskrivning</a></p>
		<p class="undermenu"><a href="intresseanmalan.php">Intresseanmälan</a></p>
		<p class="undermenu"><a href="bokaplats.php">Boka plats på</a></p>
	</div>
	<p class="menu"><a href="#" onClick="clickMenu('m3');return false;">Utbildningar</a></p>
	<div id="m3" class="menuhidden">
		<p class="undermenu"><a href="utbildningar.php">Vilka utbildningar</a></p>
		<p class="undermenu"><a href="foretagshalsovard.php">Företagshälsovård</a></p>
		<p class="undermenu"><a href="friskvard.php">Friskvård</a></p>
	</div>
	<p class="menu"><a href="mottagningen.php">Mottagningen</a></p>
	<p class="menu"><a href="backtobusiness.php">Back to business</a></p>
	<p class="menu"><a href="#" onClick="clickMenu('m4');return false;">Kontakta mig</a></p>
	<div id="m4" class="menuhidden">
		<p class="undermenu"><a href="gastbok.php">Gästbok</a></p>
		<p class="undermenu"><a href="formular.php">Formulär</a></p>
		<p class="undermenu"><a href="adress.php">Adress</a></p>
	</div>
	<div class="topmenu" style="margin-top:20px;">KURSER PÅ GÅNG</div>
	<p class="textmenu">Här kan man visa om en kurs är på gång tex.</p>
</div>

                   <div id="content">
			<p><img src="bilder/head.gif" alt="head.gif" style="border:0px;"/><br/>
			Verksamhetsbitar
		</div>
	</body>
</html>
TypeMedlem sedan mars 20021 340 inlägg
#2

LOL, <? ?> delen ska ju då inte va med.. ligger kvar sen förut :P Frågan kvarstår dock

[r] Jag flikar in en annan fråga här också:
Detta verkar inte fungera i Mozilla. Det är som att det inte går när det står <p class="undermenu">sdflkhsdf</p>, om jag ändrar det till <span class="undermenu"> lsdhlgs </span> fungerar det. Vad beror detta på?

Web-TorMedlem sedan nov. 200011 794 inlägg
#3

Tråden flyttas från HTML till JavaScript.

Varför skulle sidan inte hittas om du använder PHP? Skriv in "php" i en sökmorot och du får troligtvis upp en länk till https://www.php.net och på den sidan har dom troligtvis använt PHP. ;)

TypeMedlem sedan mars 20021 340 inlägg
#4

Jag försöker igen eftersom jag inte fått nåt svar på min andra fråga... Detta fungerar inte i Mozilla.
Om jag istället skriver:

<span id="m4" style="display:none;">
  <span class="undermenu"><a href="gastbok.php">Gästbok</a><br/></span>
  <span class="undermenu"><a href="formular.php">Formulär</a><br/></span>
  <span class="undermenu"><a href="adress.php">Adress</a><br/></span>
</span>

... så går det bättre... Vad är det som gör att det går att använda <span>-taggen men inte <p>-taggen????

TypeMedlem sedan mars 20021 340 inlägg
#5

Hur ska jag göra för att få någon o svara på inlägget? eller finns det ingen som vet varför det inte funkar i Mozilla.. Vill ju inte skapa en ny tråd i onödan. Jag har fortfarande inte fixat det utan behöver verkligen hjälp.

Det funkar bra i IE6 kanske jag ska tillägga.

TypeMedlem sedan mars 20021 340 inlägg
#6

Anledningen till att jag inte slutar hoppas är att jag tror att det finns en massa där ute som vet svaret... Någon får gärna svara på min fråga... eller skriva att det inte finns nåt bra svar/nåt som någon kan....

dectgapMedlem sedan sep. 20021 542 inlägg
#7

En gissning är att <p> är ett blockelement, och därför blir det problem när du sätter "display: inline" på ett sådant. Om du istället använder <span>, som är ett inline-element, går det bra.

Testa att använda <p>, och istället sätta "display: block", så går det nog bättre.

TypeMedlem sedan mars 20021 340 inlägg
#8

Tack så mycket dectgap! :birp

Jag är dig evigt tacksam, jag har inte haft en aning. Tur att jag äntligen fick hjälp :)

WF rockar! :stud :stud

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