---
title: "problem"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/83855-problem"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "MizzK"
published: "2003-08-09T09:07:54.000Z"
updated: "2003-08-10T10:19:49.000Z"
replies: 25
views: 451
page: 1
pages: 2
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/83855-problem"
---

# problem

_Sida 1 av 2._

## #1 — MizzK, 2003-08-09T09:07Z

jag har laddat hem en liten javascript meny, som skall expandera undermenyn när man klickar på en av "huvudknapparna". Detta fungerar utmärkt när filen är "ensam" men så fort jag inkluderar filen på min index sida så fungerar inte expanderingen längre. Vad gör jag för att lösa detta? 

Har försökt maila skaparen av skriptet men inget svar.

Permalänk: https://www.webforum.nu/p/83855

## #2 — @nders, 2003-08-09T09:10Z

Visa kod.

Permalänk: https://www.webforum.nu/p/1132257

## #3 — Jojoxx, 2003-08-09T09:11Z

Antagligen är det element, funtioner eller variabler som krockar mellan scriptet och resten av sidan. Exakt vad är omöjligt att säga utan att se sidan. Får du något felmeddelande? Kan du länka till sidan?

Permalänk: https://www.webforum.nu/p/1132258

## #4 — MizzK, 2003-08-09T09:13Z

var active=null,\_oE=null;
var subMenus=\[
	\["sub1","cat","web"\],
	\["sub2","cat","about"\],
	\["sub3","cat","place"\],
	\["sub4","cat","script"\],
	\["sub5","cat","linkz"\],
	\["sub6","cat","fun"\],
	\["sub7","cat","layout"\]
\];

function getElm(e){
	switch(true){
	case typeof(document.all)=="object":
		return document.all\[e\];
	case typeof(document.getElementById)=="function":
		return document.getElementById(e);
	default:
		return null;
	}
};

function showHide(s){
	var e=getElm(s);

	if(!e){
		return true;
	}

	if(active&&active!=e.id){
		var oE=getElm(active);
		if(document.all){
			oE.nextSibling.style.display=(window.opera)?"table-row":"block";
		} else {
			oE.nextSibling.nextSibling.style.display="table-row";
		}
		oE.style.display="none";
	}
	else if(!active&&find()){
		var i=subMenus.length;
		while(i--\>0){
			if(e==getElm(subMenus*\[0\])){
				if(document.all){
					\_oE.nextSibling.style.display=(window.opera)?"table-row":"block";
				} else {
					\_oE.nextSibling.nextSibling.style.display="table-row";
				}
				continue;
			} else {
				getElm(subMenus*\[0\]).style.display="none";
			}
		}
	}

	if(e.style.display==""\|\|e.style.display=="none"){
		if(document.all){
			e.style.display=(window.opera)?"table-row":"block";
			e.nextSibling.style.display="none";
		} else {
			e.style.display="table-row";
			e.nextSibling.nextSibling.style.display="none";
		}
	} else {
		if(document.all){
			e.nextSibling.style.display=(window.opera)?"table-row":"block";
		} else {
			e.nextSibling.nextSibling.style.display="table-row";
		}
		e.style.display="none";
	}

	active=e.id;

	return false;
};

function find(){
	if(subMenus.length\<1 \|\| location.search.indexOf("cat=")\<1 \|\| location.search.indexOf("cat=pics")\>0){
		return 0;
	}

	var
		o=subMenus,
		i=o.length,
		l=location.search;
	while(i--\>0){
		if(l.indexOf(o*\[1\])\>0){
			if(l.split(o*\[1\])\[1\].indexOf(o*\[2\])\>0){
				\_oE=getElm(o*\[0\]);

				if(document.all){
					\_oE.style.display=(window.opera)?"table-row":"block";
					\_oE.nextSibling.style.display="none";
				} else {
					\_oE.style.display="table-row";
					\_oE.nextSibling.nextSibling.style.display="none";
				}
				continue;
			}
		}
		getElm(o*\[0\]).style.display="none";
	}
	return 1;
};

window.onload=function(){
	find();
};
 
Det var js koden..

behövs den andra koden, dvs meny.asp?*******

Permalänk: https://www.webforum.nu/p/1132261

## #5 — MizzK, 2003-08-09T09:14Z

sidan som menyn skall ligga på ligger på <http://vip.hh.se>

Permalänk: https://www.webforum.nu/p/1132262

## #6 — MizzK, 2003-08-09T09:19Z

inga felmeddelanden heller

Permalänk: https://www.webforum.nu/p/1132266

## #7 — MizzK, 2003-08-09T09:22Z

urklipp hur den andra koden ser ut..

\<tr\>
    \<td width="100%" height="19"\>
     \<a href="#" onclick="return showHide('sub1');"\>\<img src="grund\\meny\\bilder\\beige_dot.gif" alt="dot"\>&nbsp;\<b\>Programmet\</b\>\</a\>
    \</td\>
  \</tr\>
  \<tr id="sub1"\>
    \<td width="100%" height="19"\>
      \<table width="100%" cellpadding="0" cellspacing="0"\>
        \<tr\>
          \<td valign="top" align="right"\>
            \<a href="main.asp?cat=web&ucat=html"\>\<b\>Kurser\</b\>\</a\> &nbsp; &nbsp;
          \</td\>
        \</tr\>
      \</table\>
      \<table width="100%" cellpadding="0" cellspacing="0"\>
        \<tr\>
          \<td valign="top" align="right"\>
            \<a href="main.asp?cat=web&ucat=html"\>\<b\>Student\</b\>\</a\> &nbsp; &nbsp;
          \</td\>
        \</tr\>
      \</table\>
	  \<table width="100%" cellpadding="0" cellspacing="0"\>
        \<tr\>
          \<td valign="top" align="right"\>
            \<a href="main.asp?cat=web&ucat=html"\>\<b\>Utlandsstudier\</b\>\</a\> &nbsp; &nbsp;
          \</td\>
        \</tr\>
      \</table\>
      \<table width="100%" cellpadding="0" cellspacing="0"\>
        \<tr\>
          \<td valign="top" align="right"\>
            \<a href="main.asp?cat=web&ucat=html"\>\<b\>C-uppsater\</b\>\</a\> &nbsp; &nbsp;
          \</td\>
        \</tr\>

Permalänk: https://www.webforum.nu/p/1132267

## #8 — Jojoxx, 2003-08-09T17:55Z

onload-funktionerna krockar. Du har en onload i body-taggen och en definierad i scriptet. Ta bort onload från \<body\> och lägg det i scriptet istället;

```
window.onload=function(){ 
	MM_preloadImages('bilder/Knappar/images/hem_knapp_01-over.gif','bilder/Knappar/images/prog_knapp_01-over.gif','bilder/Knappar/images/studie_knapp_01-over.gif','bilder/Knappar/images/kontakt_knapp_01-over.gif','bilder/Knappar/images/VIP_knapp_01-over.gif','bilder/Knappar/images/nollning_knapp_01-over.gif','bilder/Knappar/images/progf_knapp_01-over.gif','bilder/Knappar/images/forum_knapp_01-over.gif','bilder/Knappar/images/lankar_01-over.gif');
	find(); 
};
```

Permalänk: https://www.webforum.nu/p/1132471

## #9 — MizzK, 2003-08-09T18:00Z

det tillhör den "gamla menyn" kanske kan ta bort det helt och hållet då?

om jag skall lägga det i scriptet, var lägger jag d då?

Permalänk: https://www.webforum.nu/p/1132474

## #10 — MizzK, 2003-08-09T18:06Z

testade med att ta bort det från body tagen men det hjälpe inte..  vad gör man då?

Permalänk: https://www.webforum.nu/p/1132479

## #11 — Jojoxx, 2003-08-09T18:22Z

Du kan lägga upp en testa-sida med scriptet och sidan i sin helhet och länka till. Det kan vara mer saker runt omkring som krockar.

Ett generellt tips vid felsökning är annars att ta en bit i taget. Som när du i det här fallet har en meny som fungerar. Använd den och lägg sedan till bit för bit med resten av sidan så ser du när det slutar fungera.

Permalänk: https://www.webforum.nu/p/1132490

## #12 — MizzK, 2003-08-09T18:34Z

här e länken till sidan.. la endast upp lite av sidan, så bilderna fattas.. <http://www.thunderspot.net/vip1/nollning.asp,> iof var menyn problemet.. =)))

Permalänk: https://www.webforum.nu/p/1132496

## #13 — Jojoxx, 2003-08-09T19:52Z

Scriptet "inc/menu.js" som du försöker länka in finns inte där det skall ligga (<http://www.thunderspot.net/vip1/inc/menu.js>). Men lägger jag in scriptet manuellt på sidan funkar det...

Permalänk: https://www.webforum.nu/p/1132538

## #14 — MizzK, 2003-08-09T19:56Z

mm, vet hittade det felet med =) men tack iaf.. 
nu har jag ett annat problem istället.. får inte länkningen att stämma.. när  jag länkar till en ny sida så försvinner expanderingen.. vilket den inte skall göra.. det skall ju synas att jag är inne på just den knappen.. tror att det har ngt med asp att göra.. kan ni lösningen så e jag tacksam.. annars får jag leta vidare =))

Permalänk: https://www.webforum.nu/p/1132542

## #15 — Jojoxx, 2003-08-09T20:08Z

Jag tycker det ser ut som tanken med scriptet är att du skall länka till sidan med en query-string som innehåller ex. ?cat=web eller ?cat=about för att funktionen find() skall kunna leta reda på vilken meny som skall expanderas. Finns det någon form av dokumentation varifrån du fått scriptet borde dock detta stå. Prova det, alltså länka till sidan.asp?cat=web ...osv

Permalänk: https://www.webforum.nu/p/1132553

## #16 — MizzK, 2003-08-09T20:22Z

ska testa, men skall jag includera menyn i på varje sida? 
för när jag gör det laddar menyn om och blir icke exponerad

Permalänk: https://www.webforum.nu/p/1132557

## #17 — Jojoxx, 2003-08-09T20:23Z

På alla sidor som använder menyn måste koden till den finnas med ja :) Antingen direkt på sidan, eller som inkluderad fil.

Permalänk: https://www.webforum.nu/p/1132558

## #18 — MizzK, 2003-08-09T20:26Z

som sagt blir icke exp då..

Permalänk: https://www.webforum.nu/p/1132559

## #19 — Jojoxx, 2003-08-09T20:41Z

1) Du har definierat meny 2 med;

```
["sub2","cat","about"],
```

Men just denna saknas sedan på sidan (\<tr id="sub2" ...)

2) Du bör kanske sätta display:none; på menyerna så att inte alla visas när sidan laddas. Ex;

```
<tr id="sub1" style="display:none;">
```

... och likadant för samtliga menyer.

Med dessa modifieringar, samt att scriptet finns tillgängligt, antingen direkt på sidan eller inkluderat, så fungerar det.

Permalänk: https://www.webforum.nu/p/1132565

## #20 — MizzK, 2003-08-09T20:49Z

sub2 ska inte finnas med för att jag har inga submenyer där.. innan du skrev ditt meddelande så lyckades jag få den att expandera som den skall, men det fungerar endast på en submeny när jag klickar på den andra så händer inget... 
ska testa det andra du sa =)

tusen tack för all hjälp =))

Permalänk: https://www.webforum.nu/p/1132569

---

Tråden på webben: https://www.webforum.nu/amne/javascript/83855-problem  
Nästa sida: https://www.webforum.nu/amne/javascript/83855-problem/page2.md
