webForumDet fria alternativet

Undermenyerna försvinner.

9 svar · 268 visningar · startad av diondra

diondraMedlem sedan feb. 200461 inlägg
#1

Är det någon som vet vad det är för fel på det här scriptet? Får det inte att funka alls, alla meny överskrifter förutom den första försvinner när man klickar på länkarna. Bifogar en fil som kanske kan hjälpa till.

<html>
<head>
<title>Switch Menu</title>
<style type="text/css">
.menuOut {cursor:crosshair; margin:2px; background-color:#ffffff; color:#255EFF; width:140px; border:no; padding:0px; text-align:left; font-weight:normal; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;}
.menuOver {cursor:crosshair; margin:2px; background-color:#ffffff; color:#C3B2F4; width:140px; border:no; padding:0px; text-align:left; font-weight:normal; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;}
.submenu {width:170px; padding-left:14px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;}
.submenu a {color:#255EFF; text-decoration:none; font-weight:normal;}
.submenu a:hover {color:#C3B2F4; text-decoration:none; font-weight:normal; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;}
.style1 {font: 10px verdana, arial, helvetica, sans-serif; font-weight: normal; text-align: left; color: #CCCCCC; margin: 5px 0px 5px 0px; border-bottom: 1px solid #f7f7f7; padding: 1px; }
</style>
<script type="text/javascript">
/*  
Script made by Martial Boissonneault © 2001-2003 [url]http://getElementById.com/[/url]
This script may be used and changed freely as long as this msg is intact
Visit [url]http://getElementById.com/[/url] for more free scripts and tutorials.
*/
function SwitchMenu(obj){
	if(document.getElementById){
	var el = document.getElementById(obj);
	var ar = document.getElementById("cont").getElementsByTagName("DIV");
		if(el.style.display == "none"){
			for (var i=0; i<ar.length; i++){
				ar[i].style.display = "none";
			}
			el.style.display = "block";
		}else{
			el.style.display = "none";
		}
	}
}
function ChangeClass(menu, newClass) { 
	 if (document.getElementById) { 
	 	document.getElementById(menu).className = newClass;
	 } 
} 
document.onselectstart = new Function("return false");
</script>
</head>
<body>
<div class="style1">navigation<br></div>
<div id="cont">
	<p id="menu1" class="menuOut" onclick="SwitchMenu('sub1')" onmouseover="ChangeClass('menu1','menuOver')" onmouseout="ChangeClass('menu1','menuOut')">+ info/faq</p>
	<div class="submenu" id="sub1" style="display:none;">
		<a href="faq.html" target="main">+ faq</a><br/>
		<a href="info.html" target="main">+ about me</a>
	</div>
<div class="style1">build</div>
	<p id="menu2" class="menuOut" onclick="SwitchMenu('sub2')" onmouseover="ChangeClass('menu2','menuOver')" onmouseout="ChangeClass('menu2','menuOut')">+ walls</p> 
	<div class="submenu" id="sub2" style="display:none;">
		<a href="wi1.html" target="main">+ page 1</a>
	</div>

	<p id="menu3" class="menuOut" onclick="SwitchMenu('sub3')" onmouseover="ChangeClass('menu3','menuOver')" onmouseout="ChangeClass('menu3','menuOut')">+ floors</p>
	<div class="submenu" id="sub3" style="display:none;">
		<a href="fl1.html" target="main">+ page 1</a>
	</div>
</div>

</body>
</html>
JojoxxMedlem sedan juni 20004 308 inlägg
#2

Vill du att menyerna skall fortsätta att vara "öppna" när du väljer en annan? Isf:

<script type="text/javascript">
/*  
Script made by Martial Boissonneault © 2001-2003 [url]http://getElementById.com/[/url]
This script may be used and changed freely as long as this msg is intact
Visit [url]http://getElementById.com/[/url] for more free scripts and tutorials.
*/
function SwitchMenu(obj){
	if(document.getElementById){
	var el = document.getElementById(obj);
	el.style.display=(el.style.display == "none")?"block":"none";
	}
}
function ChangeClass(menu, newClass) { 
	 if (document.getElementById) { 
	 	document.getElementById(menu).className = newClass;
	 } 
} 
document.onselectstart = new Function("return false");
</script>
diondraMedlem sedan feb. 200461 inlägg
#3

Mja, nu försvinner inte de gråa menyerna iaf, men istället öppnas en och samma länk vilken av de javascript menyerna man än klickar på, kolla här: http://w1.183.telia.com/~u18323884/menyexempel.html

Prova att klicka på info/faq, det funkar, men inte att klicka på walls,floors, sets eller single objects för då öppnas info/faq igen.

nån som vet vad felet är?

JojoxxMedlem sedan juni 20004 308 inlägg
#4

Du får inte ha flera element (läs <taggar>) med samma id, ex id="menu2". Endast 1 element får heta "menu2" eftersom id't måste vara unikt.

diondraMedlem sedan feb. 200461 inlägg
#5

ah, det var ju så enkelt :)

men jag vill fortfarande att en javascript meny ska stängas när en annan av den sorten öppnas... går det oxå? :)

JojoxxMedlem sedan juni 20004 308 inlägg
#6

Använder du orginal-scriptet men korrigerar id'na så borde det fungera.

diondraMedlem sedan feb. 200461 inlägg
#7

korrigera id'na? vad, hur vilka? är inte så bra på javascript nämligen.

JojoxxMedlem sedan juni 20004 308 inlägg
#8

Det som jag skrev om i förra tråden :) Alltså se till att inte flera <taggar> har samma id.

diondraMedlem sedan feb. 200461 inlägg
#9

men det finns ju bara en menu1, menu2 osv?

JojoxxMedlem sedan juni 20004 308 inlägg
#10

I exemplet http://w1.183.telia.com/~u18323884/menyexempel.html har du 5 st id="menu2"

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